• ベストアンサー

vbsでIEページコピーの方法

また、お世話になります。 IEで表示させたページで Ctrl+A ,Ctrl+C する動作を VBSで行うにはどうすればよいでしょうか。 (クリップボードにデータが欲しいのです) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

一例です。 Set objShell = WScript.CreateObject("WScript.Shell") objShell.AppActivate("MSN Japan - Microsoft Internet Explorer") 'IEをアクティブに WScript.Sleep 400 ' WAIT 400 objShell.SendKeys "%E" ' Alt+Eで編集モード objShell.SendKeys "^a" ' Ctrl+Aですべてを選択 objShell.SendKeys "^c" ' Ctrl+Cでコピー ※AppActivateでアクティブにしているページのキャプションは、適当に変更してください。

dumbodumbo
質問者

お礼

ありがとうございます。 簡潔でわかりやすくて動作もPERFECTでしたー。 本当にありがとうございました。 今後ともよろしくお願いします。

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

こんな方法も。 Dim MyShell Dim w Dim objIE Set MyShell = CreateObject("Shell.Application") For Each w In MyShell.Windows If UCase(Right(w.FullName, 12)) = "IEXPLORE.EXE" Then Set objIE = w: Exit For End If Next Set MyShell = Nothing If objIE Is Nothing Then Wscript.Echo "IEが起動していません。", 48 Wscript.Quit End If With objIE .Visible = True .ExecWB 17, 2, 0, 0 .ExecWB 12, 2, 0, 0 End With Set objIE = Nothing

dumbodumbo
質問者

お礼

ありがとうございます。 正常に動作しました。 いろいろな方法があるものだと勉強になりましたー。 今後ともよろしくお願いいたします。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

初めてなので自信はないですが。 Set objShell = WScript.CreateObject("Shell.Application") Set objWs = CreateObject("WScript.Shell") For Each objIE In objShell.Windows()     If InStr(LCase(objIE.FullName), "iexplore.exe") Then        While Not objWs.AppActivate(objIE.document.Title)            WScript.Sleep 100        Wend        objWs.SendKeys "^a"        objWs.SendKeys "^c"        Exit For     End If Next Set objShell = Nothing Set objWS = Nothing 意味合いが違っていたらスル~して下さい。

関連するQ&A