
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制作)
-
ファイルが開かれているかどうかの判断
Visual Basic(VBA)
-
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
-
4
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
5
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
6
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
7
ファイルが書き込み中かどうかの判定方法は?
UNIX・Linux
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
10
バッチファイルでのエラー処理の方法を教えてください
その他(プログラミング・Web制作)
-
11
エクスプローラを最大化表示するコマンドかバッチ
Windows Vista・XP
-
12
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
13
xcopyで特定のファイルのみをコピーする方法
Windows 10
-
14
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
17
EXCEL VBAでテキストファイルの特定の場所にデータを書き込む方法
Visual Basic(VBA)
-
18
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
19
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
20
ファイルを閉じるコマンドを教えてください
システム
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
vbsにてショートカットが存在す...
-
HTAのウィンドウを閉じるには・...
-
Latexで図番号だけを「図1.1」...
-
公文書のxmlファイルの開き方が...
-
jarファイル
-
ファイル名を指定しないVBAは?
-
コマンドプロンプトで作成日時...
-
ファイルの変換について
-
.NETアプリを作ったときの .man...
-
【VBA】EXCELブックを開かずに...
-
HTMLを正しく表示させるには
-
リンクの張り付けかたを教えて...
-
オートラン(autorun.inf)につ...
-
fstatでファイルがリンクかどう...
-
CSSファイルの日本語コメントが...
-
シリアル(RS232C)通信でファ...
-
監視ツールを入れさせられまし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで作成日時...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
jarファイル
-
「ブルーファイル」と「グリー...
-
ファイルが開かれているかどう...
-
バッチ処理で追記コピーしたい
-
VBAのバイナリ出力について
-
公文書のxmlファイルの開き方が...
-
コマンドプロンプトで、指定し...
-
監視ツールを入れさせられまし...
-
自分で作成した重要ファイルを...
-
HTMLからのBATファイル実行
-
VBSが起動しない
-
他のMDBのマクロを実行する方法
-
Batファイルをバイナリ形式にす...
おすすめ情報