Top > OOobbs2 > 35

OOobbs2/35 Edit

  • サマリ: ブラウザを起動、URLのソースを取込みたい
  • 環境: Basic
  • 状態: 解決
  • 投稿者: たけのこ?
  • 投稿日: 2007-04-19 (木) 00:51:43

質問 Edit

ExcelだとVBAでIEを起動してURLのソースを取り込むことができますがOOoBasicで同じことをするにはどうしたらよいでしょうか。利用例としてはヤフーファイナンスの円/ドルレートの時系列データをCalcの表に人手の介在なしに取り込むことを考えています。

回答 Edit

  • IEを起動せずにURLソースを取得できます。
Sub FileAcc
Dim oFileAcc As Object
Dim sURL As String
Dim oInputStream As Object
Dim vData As Variant
Dim sLine As String, sDataLine As String

  sURL = "http://hermione.s41.xrea.com/pukiwiki/index.php"

  oFileAcc = createUnoService( _
    "com.sun.star.ucb.SimpleFileAccess" )
  oInputStream = CreateUnoService("com.sun.star.io.TextInputStream")
  oInputStream.setEncoding( "EUC-JP" )

  If oFileAcc.exists(sUrl) Then
    vData = oFileAcc.openFileRead(sUrl)
    oInputStream.setInputStream(vData)
    While NOT oInputStream.isEOF()
      sLine = oInputStream.readLine()
      sDataLine = sDataLine & sLine & Chr(10)
    WEnd
    oInputStream.closeInput()
  End if
  
  'txt(sDataLine)
End Sub

読み込んだデータが msgbox では長くて表示できませんでした。添付ファイルでは別ダイアログで表示します。

fileOOobbs2-35.ods

詳細は

SimpleFileAccess サービスはローカルだけでなく HTTP、FPT などのプロトコルもサポートしています。TextInputStream サービスはエンコードを指定したテキストの読み込みが可能です。

IDL Ref. では

  • はにゃ?? 2007-04-19 (木) 03:01:16
  • そのほか、OOoのURLアドレスバーにページURLを入力することでそのページをWriterなどで開くこともできるので、取得方法はIEを介さずともさまざまあります。IEを使うとなると、OLEで起動が必要になるのかな・・・ -- はにゃ?? 2007-04-19 (木) 03:26:35
  • 教えていただいた方法でやったところうまくいきました。どうもありがとうございました。 -- たけのこ? 2007-04-19 (木) 18:23:59
  • 教えていただいたコードに追加を入れてヤフーファイナンスから円/ドルレートを取込むコード作ったのでを貼りつけておきます。 -- たけのこ? 2007-04-19 (木) 18:31:17

感想,コメント,メモ Edit



Attach file: filestock_get.ods 493 download [Information] fileusd_rate.ods 388 download [Information] fileOOobbs2-35.ods 1198 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes