- ベストアンサー
vbsでIEページコピーの方法
また、お世話になります。 IEで表示させたページで Ctrl+A ,Ctrl+C する動作を VBSで行うにはどうすればよいでしょうか。 (クリップボードにデータが欲しいのです) よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 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でアクティブにしているページのキャプションは、適当に変更してください。
その他の回答 (2)
- marbin
- ベストアンサー率27% (636/2290)
こんな方法も。 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
お礼
ありがとうございます。 正常に動作しました。 いろいろな方法があるものだと勉強になりましたー。 今後ともよろしくお願いいたします。
- n-jun
- ベストアンサー率33% (959/2873)
初めてなので自信はないですが。 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 意味合いが違っていたらスル~して下さい。
お礼
ありがとうございます。 簡潔でわかりやすくて動作もPERFECTでしたー。 本当にありがとうございました。 今後ともよろしくお願いします。