• 締切済み

キー操作 (WSH:コピー&ペースト)

ホームページ上のデータをクリップボードに取り込んで メモ帳に写したいです。 キー操作でのコピー&ペーストがうまくいきません。 どこがいけないのでしょうか(WSHを使ってます)。 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "^A" '「Ctrl」を押しながら「A」を押す WshShell.SendKeys "^C" '「Ctrl」を押しながら「C」を押す WSHShell.Run "notepad.exe" 'メモ帳を開く WshShell.SendKeys "^V" '「Ctrl」を押しながら「V」を押す よろしくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

ブラウザのウィンドウをAppActivateしないと、Sendkeysしたコードがこのスクリプトを起動したWScript.EXEに送られるのでは? メモ帳起動後も、メモ帳をAppActivateしないといけませんし、Runで起動直後にウィンドウが開いているとも限らないので、WScript.Sleepで少し待つ必要があります。(SendKeysを使うときは一般的に1ステップずつSleepしたほうが吉) で、やってみましたが、IEだと ^A ^C が効かないですね。なんでだろう? %EA %EC にしたらうまくいきました。

simiken199
質問者

お礼

できました! 待機時間がないのが原因でした。 Sleepを組み込んだらうまくいきました。 ありがとう^^

関連するQ&A

  • WSH動作しない!!(WScript.SleepとSendKeys?)

    WSHが動作しなくて困っています。 動作するコードとしないコードは次のとおりです。 いずれも@ITに掲載されているサンプルコードをそのままです。 動作しないコードについても,notepadの起動まではできます。 どうやら,sleepとsendkeysが動いてくれないようです。 <正常に動作するコード> Set objShell = WScript.CreateObject("WScript.Shell") WScript.Echo "メモ帳を起動します。" objShell.Run "notepad.exe" http://www.atmarkit.co.jp/fwin2k/operation/wsh03/wsh03_02.html <動作しないコード> Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "notepad.exe" WScript.Sleep 1000 objShell.SendKeys "hello" http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html ■動作環境 Win XP Pro IE 6.0 ちなみに,WSHファイルに対する実行権限はあります(フルコントロールです)。 以上なのですが,何か点検するべき事項などありましたらご教示ください。

  • WSH 日本語ファイル名の認識

    こんにちは、WSHを業務使おうと考えております。 まだ始めたばかりで、いろいろ調べてはみたのですが、検索方法が悪いのか解消方法が見つかりません。 以下のスクリプトにてメール作成を自動化しようとしておりますが、日本語のファイル名、件名に日本語を使うと文字化け?してしまい、思ったようにうまくいきません。 そもそもSendKeysを使っているのが悪いのでしょうか ご教授いただけないでしょうか?よろしくお願いいたします。 set WshShell = WScript.CreateObject("WScript.Shell") 'メーラー立ち上げ' WshShell.Run "MSIMN.EXE" WScript.Sleep 5000 '新規メール作成' WshShell.SendKeys "%{F}" WshShell.SendKeys "N" WshShell.SendKeys "M" 'ファイル添付' WshShell.SendKeys "%{I}" WshShell.SendKeys "A" WshShell.SendKeys "C:\業務週報.xls" WshShell.SendKeys "%{A}" WshShell.SendKeys "ITODPC02@gmail.com" WshShell.SendKeys "{TAB 2}" WshShell.SendKeys "業務週報送信" WshShell.SendKeys "{TAB 2}" WshShell.SendKeys "今週の業務週報を送信します。" WshShell.SendKeys "%{F}" WshShell.SendKeys "{E}" 'メーラー終了' WshShell.SendKeys "%{F4}"

  • Windows 7 でのWSH の挙動

    お世話になります。 msdnにある「電卓をアクティブにするサンプルを Vistaで実行すると、電卓がアクティブになり、 計算結果を吐き出しますが、 Windows7(Pro,SP1)で実行すると 最前面に電卓が出るものの アクティブになっていない上に、 複数の電卓がどんどん立ち上がってきます。 Vistaと7で、プロセス(?)の管理が 変わっているのだと思います。 7でも電卓をアクティブにするには、 どうすればいいのでしょうか? 以下コードです。 ================================================ set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "calc" WScript.Sleep 100 WshShell.AppActivate "Calculator" WScript.Sleep 100 WshShell.SendKeys "1{+}" WScript.Sleep 500 WshShell.SendKeys "2" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 500 WshShell.SendKeys "*3" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 2500 ================================================

  • WSHスクリプトでブラウザ更新

    教えてください。 WSHスクリプトでブラウザの更新をF5ではなくてControl + Rしたいのです。 Set WshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 2000 WshShell.AppActivate "テスト" WScript.Sleep 2000 WshShell.SendKeys "^R" WScript.Sleep 2000 WScript.Echo "終了" 最初の一回目の実行時はできるのですが、それ以降更新してくれません。 よろしくお願いいたします。

  • HTMLにWSHを組み込む

    HTMLにWSHのコードを書く事は可能ですか? たとえば、ページ開くとNotePad.EXEが起動するようにしたいのですが 以下のような書き方をすると WScriptが宣言されていません。 とエラーになります。 <HTML> <HEAD> <TITLE>起動のテスト</TITLE> </HEAD> <meta http-equiv="Content-Script-Type" content="text/JavaScript"> <BODY> <SCRIPT LANGUAGE="JavaScript"> var title = "メモ帳"; var wsh = WScript.CreateObject("WScript.Shell"); wsh.Run( "NotePad.EXE" ); </SCRIPT> </BODY> </HTML> いい案がある方教えてください。

    • ベストアンサー
    • HTML
  • WSHを使いTELNETで%USEPROFILE%\デスクトップにファイルを複写したい

    WSHをはじめたばかりです。TELNETで接続した現在の相手のデスクトップにファイルを複写させたいと考えています。 DOSのように指定したのですがカナ文字や%がうまく渡されていないようなのですがどのように設定すればよいか教えてください。 下記のように作成しています。 よろしくお願いします。 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.AppActivate "確認" WScript.Sleep 1000 adr = InputBox("端末IPアドレスを入力してください。", 1) adr = "telnet " & adr & "~" rem telnet ホスト名 WshShell.SendKeys adr WScript.Sleep 2000 rem ユーザー名 WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem パスワード WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem コマンド WshShell.SendKeys "cd %USEPROFILE%\デスクトップ~" WScript.Sleep 3000 rem あとCOPYによる複写コマンドの記述

  • VBScript

    下記、プログラムを実行すると、コマンドプロンプトの画面が 消えずに、そのまま残ってしまいます。 どうしたら、画面を消すことができるでしょうか。 お力添えをお願いいたします。 Set WshShell = Wscript.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("user") WshEnv("C:\NET\aaa.txt") = "administrator" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:administrator " + chr(34) + "xcopy D:\NET\aaa.txt C:\NET\aaa.txt" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXX") WshShell.SendKeys("{Enter}") WScript.Sleep(500)

  • JP1からvbs(PSExec)が起動できない

    突然失礼します。 以下のサーバーAにあるvbsを、JP1から起動しようとしていますが、うまく起動しないので、もし原因が分かる方がいたら、ご教授願いたいです。 起動しようとしているサーバーAの「test.vbs」は、簡単に言うと、PsExecを利用して、サーバーBの「hoge.bat」を実行する内容です。 ***test.vbs*** Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "PsExec.exe サーバーBIPアドレス -u 実行ユーザ -p 実行ユーザーパスワード cmd" WshShell.AppActivate "cmd " WScript.Sleep 3000 WshShell.SendKeys "cd C:\" WshShell.SendKeys "{enter}" WshShell.SendKeys "hoge.bat" WshShell.SendKeys "{enter}" WScript.Sleep 10000 WshShell.AppActivate "cmd" WshShell.SendKeys "exit" WshShell.SendKeys "{enter}" ************************ 上記バッチを手動で実行するとうまくいくのですが、 JP1で起動しようとすると、うまくいきません。 そもそもPsExecが実行出来ていないかも。。。。 宜しくお願いします。

  • VBS(WSH)で開いたIEのウィンドウがアクティブにならない

    VBSでタイトルバーのみのIEウィンドウを開き、 SendKeyでtestと入力するスクリプトを作成しています。 ですが、開いたIEのウィンドウがアクティブにならず、 SendKeyがIEに送信されません。 VBSについては全くの初心者でして、ウィンドウがアクティブにならないのが 環境の問題なのか、プログラムの問題なのか判断できません。 どなたかご教授をお願いします。 IEのバージョンは8、OSはWinXPです。 以下、ソースです。 -------------------------------------------------- 'タイトルバーのみのIEを起動する Set WshShell = WScript.CreateObject("WScript.Shell") Set objIE = WScript.CreateObject("InternetExplorer.Application") objIE.Navigate("http://www.google.co.jp/") objIE.MenuBar = False objIE.StatusBar = False objIE.ToolBar = False objIE.AddressBar = False objIE.Visible = True '表示待ちループ Do While objIE.Busy WScript.Sleep 100 Loop '[test]で検索 WshShell.SendKeys("test") WScript.Sleep(100) WshShell.SendKeys("{TAB}") WScript.Sleep(100) WshShell.SendKeys("{ENTER}") --------------------------------------------------

  • WSHで プリンタのスクリプト うまくいかない。

    はじめまして、のりといいます。WSH初心者です。 以下のようなログオンスクリプトを組んで、プリンタ設定をしようとしますが、エ ラーが出ます。 <スクリプト prt.vbs> ' Shell Define Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") ' Network Define Dim WshNetwork Set WshNetwork = WScript.CreateObject("WScript.Network") ' Setup Printer ' Dim c1Prt1 Dim c1PNam1 ' Setting Printer Class-1 ' c1Prt1= "\\C1DC01\C1MPR2" c1PNam1 = "LP-7700 No.2" WshNetwork.SetDefaultPrinter c1Prt1 <エラーメッセージ> "\\C1DC01\C1MPR2"という名前のプリンタはありません。 ただし、このプリントは存在していて、例えば「ファイル名で実行」で \\C1DC01\C1MPR2をいれるとちゃんとプリンタが出てきます。 以上のことで何かお分かりの方がいましたら、もしくは、このようなプリンタの設定 に関するURLなどご存知でしたら教えてください。 よろしくお願いします。

専門家に質問してみよう