みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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"  

投稿日時 - 2008-05-14 14:28:22

QNo.4021626

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.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/

投稿日時 - 2008-05-15 00:51:58

お礼

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

投稿日時 - 2008-05-15 10:14:52

ANo.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"

投稿日時 - 2008-05-14 15:34:17

お礼

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

投稿日時 - 2008-05-14 16:12:04

ANo.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

投稿日時 - 2008-05-14 15:15:46

お礼

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

投稿日時 - 2008-05-14 16:07:18

ANo.1

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

投稿日時 - 2008-05-14 14:40:00

補足

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

投稿日時 - 2008-05-14 15:00:36

あなたにオススメの質問