
https://oshiete.goo.ne.jp/qa/10255566.html でコマンドプロンプトで、指定したファイルが開いているかをDELコマンドとERRORLEVELで判別できることが分かりました。
start Excel.exe %FILE1%
del /q %FILE1% 2>&1 | find /V ""
if %errorlevel% == 1 (
echo 1
goto res
) else if %errorlevel% == 0 (
echo 0
start Excel.exe %FILE2%
)
この判定で実際に行いたいのは、エクセルでFILE1.csv と FILE2.xls を開く際に
FILE1.csv が開いてからFILE2.xlsを開くことです。
FILE1.csv はファイルによって(データ数?ファイル容量?)開く時間が異なるため、上記の判定を繰り返し行う必要があると考えています。
上記の判定を繰り返し行うには、どのようにしたらよいでしょうか?
宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
やりたいことは『コマンドプロンプトで、まずFILE1.csvをExcelで開いて、それが完了したら次にFILE2.xlsを開きたい』ということで良いですか。
これ、どうあがいても保証はできませんよ。
No.1の人も書いているとおり、ExcelはまずFILE1.csvをロックしてから開きます。すなわちFILE1.csvが削除できないというのは、開き終わったからではなく、開き始めたからです。Excelの外から開き終わりを感知する方法はありません。
これは筋が悪いので、本当にしたいことは何か、からもう一度考え直した方が良いです。
ちなみに
> start Excel.exe FILE1.csv FILE2.xls
は(Excel.exeをフルパス指定すれば)一応できますけど、2つのファイルを順に開く保証はないですね。並列動作してそうです。並列動作しても良ければ、これでOKですが・・・
なお、あらかじめ起動したExcelファイルからVBAでFILE1.csvとFILE2.xlsを順に開くというのならWorkbooks.Openを並べればできます。
No.1
- 回答日時:
ご質問の件に関しましては、処理の戻り先として、
:AAA
等のラベル行を作成し、その行へ、
goto AAA
のような感じでジャンプさせてやり、
戻る前か、戻った後に、
ping localhost -n 6 >NUL:
のような感じで、数秒待つ処理を設けてやると良いかと思います。(※上記の「ping」コマンドを利用したウェイト例は「6」と記述されていますが、実際は1秒引いた「5」秒待つ処理です。)
ただ、恐らくですが、質問者さんが実現しようとしている方法ですと、一つ目のファイルを開いている途中でも、ファイルにライトプロテクトが掛かり、削除処理に失敗すると思われますので、その時点で、一つ目のファイルが開き切ったと判断され、一つ目のファイルが開き切る前に、次のファイルが開かれてしまうと思います。
正確に判断しようと思うと、以前のご質問のご回答にあるようなツールをインストールするのが良いかと思いますが、Windows標準の機能のみしか使えない環境で、マイクロソフト製のツールであっても、追加のインストールが出来ないような状況なのでしょうか。
そのような場合は、Windows標準のスクリプトで処理を実現する必要があるかと思いますが、良い方法があるかは私にはちょっと分かりません。
それ以前の簡単な方法として、引数で両ファイルを指定するという方法があります。
「OpenOffice」等で有効な方法で、「Microsoft Office」ではどうか分かりません。一度、そちらでご検証ください。
バッチファイルからですと、
start "" Excel.exe %FILE1% %FILE2%
という感じで実行します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) エクセルのファイルが開かない 4 2022/04/22 15:07
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトで、指定したファイルが開いているかを判別する方法
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
ファイルが開かれているかどうかの判断
Visual Basic(VBA)
-
-
4
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
5
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
6
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
7
開いてるファイル(エクセル等)をバッチかVBScript自動的に保存す
その他(Microsoft Office)
-
8
xcopyで特定のファイルのみをコピーする方法
Windows 10
-
9
エクスプローラを最大化表示するコマンドかバッチ
Windows Vista・XP
-
10
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
11
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
12
EXCEL VBAでテキストファイルの特定の場所にデータを書き込む方法
Visual Basic(VBA)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
15
FTPで書き込み中のファイルの完了を知りたい
C言語・C++・C#
-
16
コマンドプロンプトからEXCELファイルを開き、印刷後、閉じるを一括に行いたい
Excel(エクセル)
-
17
ファイルを閉じるコマンドを教えてください
システム
-
18
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
19
コマンドプロンプト標準出力とファイル出力両方
その他(プログラミング・Web制作)
-
20
exeファイルの中身を見ることは可能ですか?
フリーソフト
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.NETアプリを作ったときの .man...
-
binファイルを解凍したいの...
-
リンクの張り付けかたを教えて...
-
コマンドプロンプトで作成日時...
-
#include <Windows.h>というヘ...
-
アクセス 壊れた? 「ファイ...
-
jarファイル
-
ファイル名にドットを使ったフ...
-
HTAのウィンドウを閉じるには・...
-
htcファイルとはなんですか?
-
VBSが起動しない
-
MFCのダイアログのリソースが更...
-
Excel VBA ファイル取得につい...
-
監視ツールを入れさせられまし...
-
音声ファイルを実行ファイルに...
-
「ブルーファイル」と「グリー...
-
VBAのバイナリ出力について
-
エクセルvbaについて
-
ディレクトリの監視と変更ファイル
-
Latexで図番号だけを「図1.1」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトで作成日時...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで、指定し...
-
jarファイル
-
「ブルーファイル」と「グリー...
-
ファイルが開かれているかどう...
-
バッチ処理で追記コピーしたい
-
VBAでのicsファイル変換
-
CSSを1ページに1枚作るのって変...
-
監視ツールを入れさせられまし...
-
C#でログファイルにファイルパ...
-
exeファイルの中身を見る方法は...
-
自分で作成した重要ファイルを...
-
HTMLからのBATファイル実行
おすすめ情報