• 締切済み

VBSでファイルの自動保存

vbs初心者です。自分なりに調べたのですが、うまくいかず、アドバスを願い致します。目的は、ファイルを自動保存したいのです。 以下のように記載して、最後にカレントデレクトリイに「test.txt」と名前をつけて保存させたいのです。よろしくお願い致します。 Set objShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 1000 objShell.Run "notepad.exe" objShell.SendKeys "hello "  objShell.SendKeys "%{F4}" objShell.SendKeys "%y"  

みんなの回答

  • iriyak
  • ベストアンサー率48% (40/82)
回答No.4

こんにちは。 目的が『ファイルを自動保存したい』とのこと。今後複雑な操作の自動化に取り組まれた時に選択肢の一つに含めてもらえればと思い、同様の問題領域に適用可能な Windows 自動化ソフト UWSC をご紹介します。 UWSC による自動保存を指示するスクリプト dim wid1, wid2 dim waits = 0.5 wid1 = EXEC("notepad.exe") SENDSTR(wid1, "hello") SLEEP(waits) CLKITEM(wid1, "上書き保存", CLK_MENU) SLEEP(waits) wid2 = GETID("名前を付けて保存", "#32770") SENDSTR(wid2, "test.txt") SLEEP(waits) CLKITEM(wid2, "保存", CLK_BTN) SLEEP(waits) CLKITEM(GETID("名前を付けて保存", "#32770"), "はい", CLK_BTN) SLEEP(waits) SCKEY(wid1, VK_ALT, VK_F4) SLEEP(waits)

参考URL:
http://www.uwsc.info/
tara22
質問者

お礼

UWSCを早速インターネットで調べました。こんのようなツールもあるのですね。勉強してみます。ありがとうございました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

ポイントは、 ・notepad起動時にファイル名を指定 ・appactivate(snedkeysのサンプルに書いてあるはずですが) ・作成しますか?のダイアログに、ALT-Y を回答 Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "notepad.exe test.txt" WScript.Sleep 1000 objShell.AppActivate "test.txt" WScript.Sleep 1000 objShell.SendKeys "%y" objShell.SendKeys "hello " objShell.SendKeys "%{F4}" objShell.SendKeys "%y"

tara22
質問者

お礼

ポイントに感激致しました。notepad起動時にファイル名を指定する方法は、私に取って盲点でした。利用させて頂きます。 ありがとうございました。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

それなら、VBSでのテキストファイルの扱い方を覚える方が、ずっと重要です。 SendKeysはフォーカスのあるウィンドウに行くので、狙った通りに行かないし、 多用すべきではありません。 以下、サンプル Dim FSO 'ファイルシステムオブジェクト Dim STM 'テキストストリーム '== オブジェクトをインスタンス化する Set FSO = CretaeObject("Scripting.FileSystemObject") '== ファイルを作成する Set STM = FSO.CreateTextFile("C:\~\hoge.txt", True) '== テキストを書き込む STM.Write "Hel" '改行されない STM.WriteLine "lo" '改行される '== ファイルを閉じる STM.Close ファイルシステムオブジェクトはファイルやフォルダの削除、コピー、移動などで 使用するとても重要なオブジェクトです。

参考URL:
http://msdn.microsoft.com/ja-jp/library/cc428022.aspx
tara22
質問者

お礼

ご回答ありがとうございました。 注釈が付きで解りやすく勉強になりました。 ファイルの操作勉強してみます。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

"hello"と書いたテキストファイルを作りたいと言うことですか?

tara22
質問者

補足

はい、そうなんです。 "Hello"→文字はなんでもOKなのですが Notepad起動して文字入力した テキストファイルが作成したいのです。