vba - ejemplos - visual basic excel 2016 mac
Vb Script o código VBA para copiar el contenido de una página web a una hoja de Word/Excel (2)
Posible duplicado:
Extrae valores de HTML TD y Tr
Necesito copiar los contenidos de una página web a una hoja de Word / Excel usando VBA o VB Script (si agiliza el uso de cualquier lenguaje de programación).
Entonces, si le doy la ruta de una página web, entonces el sistema necesita copiar los contenidos de una página web y escribirla en un archivo Word o Excel.
Por favor, publique lo que ya tiene la próxima vez, tengo 2 soluciones, elija la que mejor se adapte a sus necesidades, aquí la que usa la palabra solicitada
Option Explicit
''Just change these two lines
Const HTMLFileIn="http://.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
Si solo quieres ver el html, aquí está la solución más simple
url = "http://.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
Ver mi otra respuesta que usa palabra. Y aquí otra técnica y un guardar como 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://.com/questions/10782976/disable-error-in-vbs", "question.html", false) then
wscript.echo "download ok"
else
wscript.echo "download nok"
end if