2017-03-01 7 views
0

私はVBAに慣れていますが、VB .NETを試したことはありません。テキストを2つのWebページからテキストファイルに取り込む必要があります。これは私が使用しているコードですが、問題があります。それを動作させるために私は何を変えなければなりませんか?ウェブページの内容をテキストファイルに書き込む

Public mIE As Object 
Public arrText(1) As String 
Public Const myFile As String = "C:\myTextFile.txt" 

Public Sub Main() 
    Dim arrURL(1) As String 
    Dim i As Byte 

    On Error Resume Next 
    Kill (myFile) 

    ' Define URL 
    arrURL(0) = "http://URL1" 
    arrURL(1) = "http://URL2" 

    For i = 0 To 1 
     'Spawn Internet Explorer 
     mIE = CreateObject("InternetExplorer.Application") 

     arrText(i) = openWebPage(arrURL(i)) 

     mIE.Quit() 
     mIE.Close() 
     mIE = Nothing 
    Next 

    Call saveToTextFile 
End Sub 

Public Function openWebPage(myURL As String) As String 
    With mIE 
     .Top = 0 
     .Left = 0 
     .Height = 800 
     .Height = 600 
     .AddressBar = 0 
     .StatusBar = 0 
     .Toolbar = 0 
     .Visible = True 
     .navigate (myURL) 
    End With 

    openWebPage = mIE.document.body.innerText 
End Function 

Public Sub saveToTextFile() 
    Dim oWriter As New System.IO.StreamWriter(myFile) 
    Dim i As Byte 

    For i = 0 To UBound(arrText) 
     oWriter.WriteLine (arrText(i)) 
    Next 

    oWriter.Close() 
End Sub 

よろしく、 エリオ・フェルナンデス

+0

問題は何ですか? –

+0

私が持っている問題は、メインプロシージャのforループにあります。 i = 1の場合、arrText(i)= openWebPage(arrURL(i))は 'Nothing'を返します。 2番目のURLページの内容を返す必要があります。 –

答えて

0

私はあなたが 'fichSGA' のような発見されていない引数を、持っているかもしれないと思います。彼らはあなたが提供していないコードであるかもしれません。 Visual Studioで「ブレークポイント」を追加してから、標準のキーボードでF10キーを押してステッピングすることができます。次に、変数や項目にカーソルを置くと値が表示されます。それがそこになければ問題の一部になる可能性があります。ここには、Vb.NETのスーパーシンプルなコンソールアプリケーションがあり、StreamWriterを使ってファイルをプリントアウトします。この例ではエラーが検出されないので、C:\ Testフォルダが存在することを確認してください。

Imports System.IO 

Public Sub WriteTextToFile(text As String, location As String) 
    Using sw = New StreamWriter(location) 
     sw.Write(text) 
    End Using 
    End Sub 

    Sub Main() 
    Dim someText = "I am just some text" 
    Dim someMoreText = "I am more text" 

    Dim combined = someText + Environment.NewLine + someMoreText 

    WriteTextToFile(combined, "C:\Test\Test.txt") 
    End Sub 
関連する問題