ExcelのマクロをWSHから実行させると「型が一致しません」のエラーがでます。
WSHからExcel2000のマクロを実行させています。このマクロはセルの計算式の結果(セル(1,2))をif関数で比較するコードが入っています。
If Cells(1, 2).Value = "8月" Then
hensu = 1
End If
これをWSHから実行させると「型が一致しません」とエラーが出ます。
Debug.Print TypeName(Cells(1,2).Value)で型を表示させてみるとマクロを直接実行させたときはStringですが、WSHから実行させるとErrorとなっています。
なぜWSHから実行すると型がErrorとなるのかということと、解決策を教えていただければ幸いです。
ちなみにWSHでマクロを実行させている部分は以下のとおりです。
Set objExcelApp = CreateObject("Excel.Application")
Set objWbk = objExcelApp.Workbooks.Open("ExcelBook.xls",True)
objExcelApp.Run("ExcelBook.xls!macro1")
補足
説明が足りずにすみませんでした。 下記のような、WSHを実行しています。 FLG ="C:\temp\application.exe -ls -f datafile " Set WSH = CreateObject("WScript.Shell") WSH.stdOut.Run FLG コマンドプロンプトから"application.exe -ls -f datafile"を実行すると、あるデータのリストを表示するので、コマンドプロンプトから"application.exe -ls -f datafile >list.txt"を実行して"list.txt"を生成しています。 同様にWSHからFLG ="C:\temp\application.exe -ls >list.txt"として実行してもテキストが生成されません。 WSH.Runを実行した際に、ログファイルを生成するにはどうしたら良いでしょうか。