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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
コマンドプロンプトで、指定したファイルが開いているかを判別する方法
その他(プログラミング・Web制作)
-
コマンドライン上でファイルを終了させる方法について
Windows Vista・XP
-
VBSでExcelのオープン確認
Visual Basic(VBA)
-
-
4
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
5
ファイルが開かれているかどうかの判断
Visual Basic(VBA)
-
6
バッチファイルでキー操作を行う。
その他(プログラミング・Web制作)
-
7
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
8
コマンドプロンプトからEXCELファイルを開き、印刷後、閉じるを一括に行いたい
Excel(エクセル)
-
9
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
10
ファイルを閉じるコマンドを教えてください
システム
-
11
バッチファイルでExcelを読み取り専用で開きたい
Excel(エクセル)
-
12
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
13
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
14
コマンドプロンプトで変数が数字であることを判定する方法
その他(プログラミング・Web制作)
-
15
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
16
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
17
バッチファイル 特定ウインドウの最小化
AJAX
-
18
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
19
ファイルの排他について
Windows Me・NT・2000
-
20
CSVファイルが開かれているかどうか
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Latexで図番号だけを「図1.1」...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
Word VBA MSGBOX 内で降順表示
-
binファイルを解凍したいの...
-
参照するファイルをワイルドカ...
-
C言語---ファイルに出力したデ...
-
アクセス 壊れた? 「ファイ...
-
CSSを1ページに1枚作るのって変...
-
【VBS】 iniファイルの特定部...
-
エクセルファイルが複数同時に...
-
.NETアプリを作ったときの .man...
-
バッチ処理で追記コピーしたい
-
JRのjsonファイルって使って大...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
exeファイルが作れない(windows10)
-
ラッパーって何なんでしょう・...
-
warファイルをEclipseでプロジ...
-
jarファイルはzipファイルと同...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneでXMLファイルを開くには...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
jarファイル
-
Seasar2のdiconファイルの読み方
-
Word VBA MSGBOX 内で降順表示
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
コマンドプロンプトで、指定し...
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
Latexで図番号だけを「図1.1」...
-
参照するファイルをワイルドカ...
-
バッチ処理で追記コピーしたい
おすすめ情報