2015-12-25 1 views
1

Я получил код, чтобы скопировать содержимое веб-сайта в блокнот:Vbscript Сайт, SelectAll Копирование и прошлое в Блокнот * Помощь *

With CreateObject("InternetExplorer.Application") 
    .Visible = False 
    .Navigate "https://example.com" 
    Do Until .ReadyState = 4 
     Wscript.Sleep 100 
    Loop 
    For Each Tag In .Document.GetElementsByTagName("script") 
     Tag.OuterHtml = "" 
    Next 
    For Each Tag In .Document.GetElementsByTagName("noscript") 
     Tag.OuterHtml = "" 
    Next 
    Content = .Document.GetElementsByTagName("body")(0).InnerText 
    Do While InStr(Content, vbCrLf & vbCrLf) 
     Content = Replace(Content, vbCrLf & vbCrLf, vbCrLf) 
    Loop 
    ShowInNotepad Content 
    .Quit 
End With 

Sub ShowInNotepad(Content) 
    With CreateObject("Scripting.FileSystemObject") 
     TempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") & "\" & .GetTempName 
     With .CreateTextFile(TempPath, True, True) 
      .WriteLine (Content) 
      .Close 
     End With 
     CreateObject("WScript.Shell").Run "notepad.exe " & TempPath, 1, True 
     .DeleteFile (TempPath) 
    End With 
End Sub 

Я застрял с выше сценарий, чтобы сохранить текст в виде файла .текст.

Пожалуйста, помогите.

ответ

0

попробовать что-то вроде этого:

Option Explicit 
Dim LogFile,Ws,Tag,Content 
LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt" 
Set Ws = CreateObject("wscript.Shell") 
With CreateObject("InternetExplorer.Application") 
    .Visible = False 
    .Navigate "https://example.com" 
    Do Until .ReadyState = 4 
     Wscript.Sleep 100 
    Loop 
    For Each Tag In .Document.GetElementsByTagName("script") 
     Tag.OuterHtml = "" 
    Next 
    For Each Tag In .Document.GetElementsByTagName("noscript") 
     Tag.OuterHtml = "" 
    Next 
    Content = .Document.GetElementsByTagName("body")(0).InnerText 
    Do While InStr(Content, vbCrLf & vbCrLf) 
     Content = Replace(Content, vbCrLf & vbCrLf, vbCrLf) 
    Loop 
    WriteLog Content,LogFile 
    .Quit 
End With 
Ws.Run LogFile 
'******************************************************************* 
Sub WriteLog(strText,LogFile) 
    Dim fso,ts 
    Const ForWriting = 2 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set ts = fso.OpenTextFile(LogFile,ForWriting,True,-1) 
    ts.WriteLine strText 
    ts.Close 
End Sub 
'****************************************************************** 
+1

работал. Тонкс! –

+0

В этом случае вы должны пометить этот ответ как «принятый». Посмотрите на это ==> http://stackoverflow.com/tour – Hackoo

+0

Просто спрашивайте: есть ли способ избежать открытия текстового файла? –