###前提・実現したいこと
VBSで、txtファイルを読み込んだ上で特定のソフトを起動し、ソフトが終了したら注意メッセージを出したいと思っております。
このとき、txtファイル、特定のソフトともに変数に格納しています。
txtファイル、特定のソフトともに変数にせずフルパスで書けば、txtファイルを読み込んだ上で問題なく起動するのですが、変数にするとtxtファイルを読み込んでくれません。
変数での書き方(ソースコードの下から4行目)をご教示いただけないでしょうか。
なお、txtファイルが一定の頻度で変わる、ソフトは使用者によって存在場所が違うため、変数に格納しなければなりません。
###該当のソースコード
vbs
1Option Explicit 2Dim objShell, ObjFolder, objFiles, ea, filename, FSO, EXEPROGRAM, oExec 3 4'txtファイルのあるフォルダ名 5Const TRGTFOLDER ="C:\aaa\bbb\" 6 7Set objShell = WScript.CreateObject("Wscript.Shell") 8Set objFSO = CreateObject("Scripting.FileSystemObject") 9 10'ソフトのパスを変数に格納 11If objFSO.FileExists("C:\Program Files\ccc\ddd\abc.EXE") = True then 12 EXEPROGRAM = "C:\Program Files\ccc\ddd\abc.EXE" 13Else 14 If objFSO.FileExists("C:\Program Files (x86)\ccc\ddd\abc.EXE") = True then 15 EXEPROGRAM ="C:\Program Files (x86)\ccc\ddd\abc.EXE" 16 Else 17 MsgBox"abc.exeが存在しません" 18 WScript.Quit 19 End if 20End if 21 22Set ObjFolder = objFSO.getFolder(TRGTFOLDER) 23Set objFiles = ObjFolder.Files 24 25'txtファイル名の取得 26For Each ea In objFiles 27If LCase(Right(ea,4))=".txt" Then 28 filename= ea 29 MsgBox(ea) & vbCrLf & vbCrLf & "このファイルを読み込んでabc 30.exeを起動します" 31 Exit For 32End If 33Next 34 35If Len(filename)>0 Then 36 '↓★★★ここの書き方でつまづいています!★これだと起動しません★★★ 37 Set oExec = objShell.Exec(EXEPROGRAM filename) 38Else 39 MsgBox "ファイルは見つかりません。",16 40End If
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/15 02:59