3

Windows 7 の schtasks ツールでタスクを作成しました。毎月 15 日に Excel ワークブックを開いて確認し、更新する必要があることを思い出します。ハンディ。

問題は、このポップアップが表示された時点で既に Excel を開いている可能性が約 60% あり、そのワークブックを開いている可能性がわずかにあることです。その場合、結果はまったくエレガントではありません。タスクは Excel の別のコピーを開こうとしますが、これは読み取り専用アクセスについて不平を言い、ワークブック自体についても同様です。

SCHTASKS、またはバッチ ファイル (または推奨するその他の便利な Windows ツール) で、最初に Excel が開いているかどうかを確認し、開いている場合は、Excel の 2 つ目のコピーを開くのではなく、それに切り替える方法はありますか? .BAT ファイルで TASKLIST を使用して、ファイルが開いているかどうかを確認することに関するメモを見てきました。

 TASKLIST /FI "IMAGENAME eq EXCEL.EXE" 2>NUL | FIND /I /N "EXCEL.EXE">NUL
 IF "%ERRORLEVEL%" EQ "0" START excel "C:\Project4\MonthlyTracking.xlsx"

しかし、BATCHファイルが開いている場合にどのように反応するかわかりません。BATCH ファイルで、既に実行中の Excel プロセスにファイルを開くように指示する方法がわかりません。

どうもありがとう!

4

2 に答える 2

3

ファイルを使用して Excel を起動しようとする代わりに、ファイルだけを起動します。

"C:\Project4\MonthlyTracking.xlsx"

そのファイルで実行されていない場合、これはExcelを開きます。実行中のExcel内でファイルを開き、すでに開いている場合はエラーを表示します-これを使用できます:

"C:\Project4\MonthlyTracking.xlsx" 2>nul
if errorlevel neq 0 echo file already opened 
于 2013-10-17T16:52:28.800 に答える