VbscriptにてTeraterm のマクロを実行したいのですが、「CreateObject」を複数使っている為か
「objWshShell.Run」でRunメソッドエラーがでます。
やりたいことは、ReadLineにて読み込んだ、「c:\list.txt」を 「objWshShell.Run」でtpmacro.exe 第一引数にして実行したいです。
Dim objfs,objWshShell
Dim file
Dim strLine
Set objfs = CreateObject("Scripting.FileSystemObject")
Set file = objfs.OpenTextFile("C:\list.txt", 1)
Set objWshShell = WScript.CreateObject("WScript.Shell")
Do until file.AtEndOfStream
strLine = file.ReadLine
objWshShell.Run="""C:\Program Files (x86)\teraterm\ttpmacro.exe strLine"""
Set objWshShell = Nothing
Loop
file.Close
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
【不具合1】
>「objWshShell.Run」でRunメソッドエラーがでます。
Runメソッドの使い方が間違っています。
以下を参考にしてください。
https://msdn.microsoft.com/ja-jp/library/cc36442 …
【不具合2】
ttpmacro.exeへの引数の渡し方が間違っている。
"C:\Program Files (x86)\teraterm\ttpmacro.exe" 引数
【不具合3】
ループの中で、
Set objWshShell = Nothing
としている為、二回目以降の「objWshShell」が存在しない。
こんな感じで
Dim objfs,objWshShell
Dim file
Dim strLine
Set objfs = CreateObject("Scripting.FileSystemObject")
Set file = objfs.OpenTextFile("C:\list.txt", 1)
Set objWshShell = WScript.CreateObject("WScript.Shell")
Do until file.AtEndOfStream
strLine = file.ReadLine
objWshShell.Run """C:\Program Files (x86)\teraterm\ttpmacro.exe"" " & strLine
Loop
Set objWshShell = Nothing
file.Close
No.2
- 回答日時:
objWshShell.Runするならイコールじゃなくて引数でわたすのでは?
また、strLineをクォーテーションのなかに入れても展開されないので
外側で連結しないといけないかも
objWshShell.Run("""C:\Program Files (x86)\teraterm\ttpmacro.exe”” ”+strLine)
またstrLineで読まれるのはttlファイルですか?
ttlファイル自体フルパスでかいて、クォーテーションでくくる必要があるかも
objWshShell.Run("""C:\Program Files (x86)\teraterm\ttpmacro.exe”” ""”+strLine+"""")
No.1
- 回答日時:
VB Script触ったコトはありませんが……
>「objWshShell.Run」でRunメソッドエラーがでます。
具体的にどんなエラーです?
>objWshShell.Run="""C:\Program Files (x86)\teraterm\ttpmacro.exe strLine"""
「変数strLineの中身の文字列」ではなく「strLine」という文字列を第1引数に渡していると思いますが、そこら辺は期待値通りなんですか?
それともVB Scriptは文字列中に変数名を記述すると勝手に置き換えしてくれるんでしょうか?
ついでに…上記の指定だと実行しようとしているのは、
"C:\Program Files (x86)\teraterm\ttpmacro.exe strLine"
で、拡張子が「.exe strLine」というファイル。ということになりますが?
ダブルクォーテーションで指定するのはそういう意味ですけどどうですか?
C:\ProgramというプログラムにFiles (x86)\teraterm\ttpmacro.exe strLineという3個の引数を渡しているのか、
C:\Program Filesというプログラムに(x86)\teraterm\ttpmacro.exe strLineという2個の引数を渡しているのか、
C:\Program Files (x86)\teraterm\ttpmacro.exeというプログラムに1個の引数を渡しているのか、
全体をダブルクォーテーションが囲った場合にどうやって判別しましょう?
# 判別する為に「半角スペースを含むフルパス名」をダブルクォーテーションで囲っているのではないですか?
objWshShell.Run="""C:\Program Files (x86)\teraterm\ttpmacro.exe"" " & strLine
または、
objWshShell.Run="""C:\Program Files (x86)\teraterm\ttpmacro.exe"" " + strLine
なんじゃないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) バックグラウンドのプロセスのエクセルを閉じる方法 4 2022/05/12 15:39
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
TERA TERMを隠す方法
その他(プログラミング・Web制作)
-
ttlで戻り値を取得する方法
その他(プログラミング・Web制作)
-
vbscriptにてTeratrm macroの引数の書き方
その他(プログラミング・Web制作)
-
-
4
一つのTeratermのマクロで複数のTeratermのウィンドウを立ち上げることはできますか?
サーバー
-
5
バックグラウンド実行完了を待つ方法
UNIX・Linux
-
6
Teraterm scprecvの上書き確認なし
フリーソフト
-
7
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
8
VBのFunctionで、配列を引数や返却値にできますか?
Visual Basic(VBA)
-
9
外部ファイルに関数を置いて、呼び出すには?(VBScriptなんですが)
Visual Basic(VBA)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
teratermマクロをVBAで実行
Visual Basic(VBA)
-
12
【Teratermマクロ】文字列の分割について
その他(プログラミング・Web制作)
-
13
teraterm から起動したプログラムの出力結果を得たい
その他(コンピューター・テクノロジー)
-
14
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
15
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
-
16
Teratemマクロ(ttl)のwaitについて
その他(プログラミング・Web制作)
-
17
VBSがコンパイルエラーになります。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
VC++から引数付きexeファイルの...
-
eclipseで作ったプログラムを他...
-
VBAでEXEファイルを動かす方法...
-
OLE又はDDEを使うVISUAL BESIC...
-
xismoについてです!開こうとす...
-
LINK : fatal error LNK1104に...
-
コンパイル ./aと./a.out の違い
-
64bit環境で32bitのodbc参照
-
ファイル名の先頭が数字だと駄...
-
VBS形式ファイル:ダブルクリッ...
-
Visual C++からMATLABを呼び出...
-
コンポーネント`MSCOMM32.cox'...
-
Web上からExeを実行する場合に...
-
exeファイルをすぐに終了させな...
-
COMとユーザの対話型しりとりプ...
-
javaの実行形式jarファイルでの...
-
WScript.Echo と msgbox
-
コマンドプロンプトにてスター...
-
MDBファイルをCSV出力したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
JavaScriptでコマンドプ...
-
OLE又はDDEを使うVISUAL BESIC...
-
VC++から引数付きexeファイルの...
-
VBAでEXEファイルを動かす方法...
-
LINK : fatal error LNK1104に...
-
64bit環境で32bitのodbc参照
-
WScript.Echo と msgbox
-
batからexeを実行し戻り値を受...
-
VBAでMP3を鳴らしたい
-
コマンドプロンプトで外のexeや...
-
batからexeを起動した際の戻り...
-
VBS形式ファイル:ダブルクリッ...
-
jarファイル実行時の環境変数の...
-
JAVA .jarファイルに再圧縮する...
-
jarファイルとjava.exeの関連付...
-
VBSでEXCELのXLSTARTにあるマク...
-
コンポーネント`MSCOMM32.cox'...
-
ローカルのHTMLからexeファイル...
-
c/c++ ビルドしたにもかかわら...
おすすめ情報