0

IE→Edge(IEモード)対応を進めていく中で、オリジナルで作成したスクリプトをIEモードで対応するためにスクリプトに下記のような内容を追加しました。

Set shell = CreateShell
Set windows = shell.Windows

Function CreateShell()

' 初期値として、Nothingをセットする。
Set CreateShell = Nothing

' CreateObjectのエラーを無視する。
On Error Resume Next

' WinActor7.ScriptHelperオブジェクトを作成する。
Set CreateShell = CreateObject("WinActor7.ScriptHelper")
If Not CreateShell Is Nothing Then

' WinActor7.ScriptHelperオブジェクトのバージョンを取得する。
ver = 0
ver = CreateShell.Version
If ver < &h07030000 Then
' Ver7.3.0.0よりも古い場合は使わない。
Set CreateShell = Nothing
End If
End If

If CreateShell Is Nothing Then
' Shell.Applicationオブジェクトを作成する。
Set CreateShell = CreateObject("Shell.Application")
End If

' エラー無視を解除する。
On Error Goto 0
End Function

上記を追加したところ、問題なく稼働することを確認できたのですが

タスクスケジューラから実行した際にエラーとなってしまいます。

どうやらタスクスケジューラから実行した場合は下記の部分が、上手く動作しないことがわかりました。

' WinActor7.ScriptHelperオブジェクトを作成する。
Set CreateShell = CreateObject("WinActor7.ScriptHelper")

WinActorを立ち上げ、シナリオ実行した場合は、上記オブジェクトの作成を行えるのですが、

タスクスケジューラからシナリオ実行した場合、上記オブジェクトの作成を行えません。

何か対策等ありますでしょうか?

以上、よろしくお願いいたします。

anothersolution 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。