Windowsタスクスケジューラを使用して、vbsスクリプトを実行するイベントトリガーを介して、クラッシュ時にMS Excelを再起動しています(https://stackoverflow.com/questions/18504067/how-to-automate-the-forced-closure-of -excel-followed-by-a-restart / 18654283#18654283)。
Excelと私の長時間実行マクロの両方が、トリガーイベントが発生したときに正常に再起動します。しかし、私が抱えている問題は、Excelがバックグラウンドで開始されることです。
(管理者として)マシンにリモートログインすると、ExcelのGUIが表示されなくなります。タスクマネージャーの下で、excel.exeが実行されていることがわかります(レポートファイルが引き続き書き込まれるため、私のマクロも同様です)。
vbsスクリプトを手動で実行すると(つまり、ログイン時にダブルクリックすると)、Excelがフォアグラウンドで起動します。
管理者としてタスクを実行し、ユーザーがログインしているかどうかに関係なく実行するようにタスクスケジューラを設定しました。スケジュールされたタスクからフォアグラウンドでExcelを起動することに関連する、他に知っておくべき設定はありますか?
私はWindowsServer 2008R2を使用しており、Excel2010を使用しています。
ありがとう、Yug
追加:動作の違いを明確にするために、スクリプトがタスクマネージャーによって実行されるか、手動で実行されるかが異なるようです(リモートログインしているかどうかは関係ありません。タスクマネージャーがスクリプトを実行すると、非表示としてExcelが起動します)。
Excelがタスクスケジューラから実行されると、サービスから実行されるため、プロセスとして常に非表示になりますが、手動で実行する場合は非表示になります。
以前にも同様の問題がありましたが、それを解決する方法は、代わりにバッチファイルを作成することでした。タスクスケジューラにバッチファイルを実行させてから、バッチファイルにExcel / scripts / macrosを実行させます。これにより、Excelを手動で開いた場合と同じ方法で開くことができます。
バッチファイルに慣れていない場合は、「。batバッチの作成方法」をグーグルで検索すると、豊富な情報が表示されます。
対照的に、「問題」を使用することは、レポートを自動化し、レポートを表示する代わりにバックグラウンドで実行するための優れた方法です。これは、他の状況で役立つ場合があります。
お役に立てれば!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加