VB6でのファイルコピーの終了検知について
- VB6でファイルをコピーする際に、コピーが完了したかどうかを検知する方法を紹介します。
- また、ファイルの削除が完了したかどうかを検知する方法についても説明します。
- 具体的な方法はFileCopyやKillステートメントだけでなく、APIなどでも実現可能です。
- ベストアンサー
VB6でのファイルコピーの終了検知について
FileCopyステートメントがありますが、FileCopyステートメントで大きなファイルをコピーしたり、ネットワーク上の別のPCにコピーしたりするとします。 コピーされた後のファイルをさらにコピーしたいのですが、コピーが完全に終了していないせいか、うまく動作しません。 ファイルのコピーが完全に終わったと検知する方法があるのでしょうか? また、ファイルの削除に関しても同様に、完全に削除し終えたと検知する方法があるのでしょうか? どなたか知っておられる方がおられましたらよろしくお願い致します。 FileCopyやKillなどのステートメントにはこだわっていません。 APIなどでもかまいませんのでよろしくお願い致します。
- tak_y
- お礼率81% (43/53)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
FileCopyやKillが、実際の処理を終了する前に戻っているという主張は、にわかには信じられません。どうしてもプログラム自体に問題があるのではないかと考えてしまいます。 現在正常に動作しないそのプログラムで、FileCopyやKillを行った後にMsgBox等を入れて十分に待てば正常に動作するのでしょうか。まずはそこから確かめてみてください。
関連するQ&A
- ネットワークコンピュータにファイルをコピーする
ローカルドライブにあるファイルを、ネットワークコンピュータの所定のフォルダにコピーしたいのですが、FileCopyではコンピュータ名から始まるフォルダ名若しくはファイル名を使えません。 FileCopy("C:\a.txt","\\Other\C\Data\a.txt") これができるようなAPIとかはないでしょうか? OSは双方ともWindows2000、言語はVisualBasic6.0SP5です。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- iniファイル内の行を削除する方法
iniファイルの使い方自体を間違えているのかも知れませんが、 わからないので教えてください。 VB6でiniファイルを作成しています。 使用しているAPIは「WritePrivateProfileString」です。 iniファイルの内容が以下のようにあったとします。 これは上記のAPIで出力しています。 [a] a1=xxxx a2=yyyy a3=zzzz プログラムでiniファイルを読み込み、 画面上である操作をしたとして、iniファイルを更新します。 結果、以下のような内容にするには、どのようにしたらよいのでしょうか。 [a] a1=xxxx a2=zzzz a1、a2を出力するところまではできるのですが、 a3の行を削除する方法がわかりません。 もしAPIでこの行を削除する方法がなければ、 iniファイルを削除して、再作成すればよいのだと思います。 その際には、iniファイルを削除するAPIがあるのでしょうか。 KillステートメントやOpenステートメントを使うのが一般的なのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- ネットワーク上のファイルのコピー
ネットワーク上のファイルをローカルにコピーする為に FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt") を実行したところ ファイル名または番号が不正です(エラー52) が出てしまいます ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが ネットワーク上のPCにユーザを登録するのではなく ユーザ名とパスワードを指定してログインしてから ファイルをコピーする方法はありますでしょうか?
- ベストアンサー
- Visual Basic
- VB6.0 Shellによる終了監視について
VB6.0について困っております。 VB6.0にてファイル管理ソフトを開発しています。VBより他アプリ(MS OfficeやAutoCAD等)ファイルを起動させ、終了を監視(終了処理実行のため)しています。 具体的にはWshのshell.Runコマンドを使用して wsh.run("アプリ",NormalFocus,True)として起動させています。 ここで、複数ファイルを起動した場合、最後に起動したファイルが終了しないと、他の終了が検知できません。 例) ファイルAを起動 ファイルBを起動 ファイルCを起動 ファイルDを起動 ↓ ファイルAを終了 ←終了しても終了検知しない ファイルBを終了 ←終了しても終了検知しない ファイルCを終了 ←終了しても終了検知しない ファイルDを終了 ←終了するとA・B・C・Dの終了をまとめて検知し終了処理実行 これを、各ファイルごとに終了を検知させる方法はありませんでしょうか? よろしくお願い致します。
- 締切済み
- Visual Basic
- ファイルの転送終了判定方法について
あるファイルをローカルマシン内でコピーしたときに、 コピー終了を判定する方法は、 どのような方法でしていますか? EOF検知ぐらいしか思い付かないんですけど(^^);
- 締切済み
- その他(ソフトウェア)
- 破損したファイルを事前に検知するには?
ファイルをバックアップしていますが、コピー元のファイルが壊れていたら、コピー先にも壊れたファイルがコピーされることになります。これを事前に検知する方法はないんでしょうか。
- ベストアンサー
- その他(ソフトウェア)
- EXCELファイルをコピーすると終了する
あるEXCELファイルが、コピーするとEXCELが終了してしまうようになりました。 そのファイルには複数シートがあり、図形やグラフなどが貼りついているものです。どのシートでは起こります。 セル選択をし「コピー」や「切り取り」をすると砂時計になった後エラーメッセージなく終了します。 他のブックにシートコピーしても改善されません。 また、そのブック内のシートをすべて削除して新しくシートを作成しても同じです。 作り直しするのは大変なためこのファイルを継続使用したいのですがコピーできないと非常に不便で困っています。 回避策などありましたら教えていただきたいと思います。 EXCEL2000を使用しています。また違うパソコンでも同じ現象になります。
- 締切済み
- オフィス系ソフト
- VBAでネットワークコンピュータのファイルにアクセスできない(XL2000)
EXCEL2000で、EXCELのファイルと、データ専用のファイルを組にして運用しています。都度データファイルのバックアップを取るために、VBA中でネットワークコンピュータ(LAN)のフォルダにFileCopyしようとするのですが、ファイルが見つからないというエラーが出て、コピー出来ません。しかし、エクスプローラーで一回ネットワークフォルダーを開いてから終了し、再度VBAを実行すると問題なくコピー出来ます(何か道筋が出来るらしい)。 また、WEBで調べてAPIのCopyFileを用いると良いという記事をみて、トライしましたが事態は同じでした。なお、過去の類似の質問で、WindowsXPの場合のMicrosoftの情報が紹介されていましたが、本ケースでは両方のPCともWindows98です。 以上、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- FileCopyについて
vbでFileCopyを使用して大きなサイズのファイルをMOに コピーする時、実際にコピーが終了するまでFileCopyを 監視する方法はありませんか?
- ベストアンサー
- Visual Basic
- Vistaでファイルのコピーができません
ドキュメントでコピー、削除などを行おうとすると、「エクスプローラの動作を停止しました」がでて、ファイル、フォルダのコピー、移動、削除等が全くできません。つい最近まで正常にできていました。特に特別な操作はしておりません。教えてください。
- 締切済み
- Windows Vista
お礼
回答ありがとうございました。 言い忘れていたことがあり、FileCopyを行っているEXEをShellで呼び出していたため、EXEが終了しないまま次のコピーなどを行おうとして処理がうまくいかなかったようです。 ありがとうございました。