0

重複の可能性:
HTML TD および Tr から値を抽出する

VBAまたはVBスクリプトを使用して、Web Webページのコンテンツをワード/エクセルシートにコピーする必要があります(プログラミング言語を使用するのが忙しい場合)。

したがって、Web ページのパスを指定すると、システムは Web ページのコンテンツをコピーして Word または Excel ファイルに書き込む必要があります。

4

2 に答える 2

1

次回はすでに持っているものを投稿してください。私には2つの解決策があります。ニーズに最も適したものを選択してください。ここでは、要求された単語を使用するものを選択してください

Option Explicit
'Just change these two lines
Const HTMLFileIn="http://stackoverflow.com/questions/10782976/disable-error-in-vbs"
Const DocFileOut="c:\newfile.doc"

Dim MyWord,oIE
set MyWord=CreateObject("Word.Document") 
Set oIE = CreateObject("InternetExplorer.Application")
oIE.Navigate HTMLFileIn
Wscript.Sleep 500
oIE.document.body.createTextRange.execCommand("Copy")
Wscript.Sleep 500
MyWord.Content.Paste
MyWord.SaveAs DocFileOut
MyWord.Close
oIE.Quit
Set oIE = Nothing
set MyWord = Nothing 
Wscript.Echo HTMLFileIn & " is now saved as " & DocFileOut

Sub wait
  Wscript.Sleep 500
  While oIE.busy
    Wscript.Sleep 1000
  Wend
  While oIE.Document.readyState <> "complete"
    Wscript.Sleep 1000
  Wend
End Sub

HTMLを表示したいだけなら、これが最も簡単な解決策です

url = "http://stackoverflow.com/questions/10782976/disable-error-in-vbs"
set xml = createobject("msxml2.serverxmlhttp.6.0")
with xml
  .open "get", url, false
  .send
  wscript.echo .responsetext
end with
于 2012-08-02T20:44:39.607 に答える
0

単語を使用する他の回答を参照してください。そして、ここで別のテクニックと HTML として保存

function download(sFileURL, sLocation, async)
  set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
  objXMLHTTP.open "GET", sFileURL, async
  on error resume next
  objXMLHTTP.send()
  if err.number = 0 then
    do until objXMLHTTP.Status = 200
      wscript.echo objXMLHTTP.Status
      wcript.sleep(200)
    loop
    if objXMLHTTP.Status = 200 Then
      set objADOStream = CreateObject("ADODB.Stream")
      objADOStream.Open
      objADOStream.Type = 1
      objADOStream.Write objXMLHTTP.ResponseBody
      objADOStream.Position = 0    
      set objFSO = Createobject("Scripting.FileSystemObject")
      If objFSO.Fileexists(sLocation) Then objFSO.DeleteFile sLocation
      Set objFSO = Nothing
      objADOStream.SaveToFile sLocation
      objADOStream.Close
      set objADOStream = Nothing
      download = true
    end if
  else
    download = false
  end if
  set objXMLHTTP = Nothing
end function

if download("http://stackoverflow.com/questions/10782976/disable-error-in-vbs", "question.html", false) then
  wscript.echo "download ok"
else
  wscript.echo "download nok"
end if
于 2012-08-02T20:46:06.593 に答える