Windows 7 では正常に動作し、Windows 10 では動作しないタスク スケジューラ経由で実行しているスクリプト ファイルがあります。
コード スニペットは次のとおりです。
Dim myxlApplication, myWorkBook
Set myxlApplication = CreateObject("Excel.Application")
myxlApplication.Visible = False
Set myWorkBook = myxlApplication.Workbooks.Open( emlAttach )
myxlApplication.DisplayAlerts = False
myWorkBook.Application.Run "Main.Main"
myxlApplication.DisplayAlerts = True
myxlApplication.Quit
Set myxlApplication = Nothing
emlAttach
スクリプトの前半で、拡張子付きの絶対パスとファイル名に設定されます。
スクリプトファイルをクリックしてこれを実行すると、完全に機能します。スケジュールされたタスクとして実行したり、タスク スケジューラから強制的に実行したりすると、ファイルを開くために使用するプログラムを尋ねられます。Excel を選択すると、ファイルが存在しないというエラーが表示されます。
そのエラーのファイル拡張子はxlsx
、変数によって修飾されているものに対して間違っていますxlsb
。