
こんにちわ。takaoPRと申します。
今、指定したフォルダから指定したフォルダへのコピーをするプログラムを作成しているのですが、思う処理ができずに、困っています。
最初、FileSystemObjectのCopyFolderを使用したところ、読取専用ファイルのコピー時にエラーが出るので、
Win32APIの、「SHFileOperation」を使用しましたが、フォルダの上書きと読取専用ファイルの上書きで確認ダイアログが表示されてしまいます。
実現したい処理は、何のメッセージも出さずに(重複ファイルは勝手に上書きします)フォルダごとコピーをしたいのですが、実現する方法はないのでしょうか?
申し訳ありませんが、みなさまのお知恵をお借りできれば嬉しいです。宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
>せっかくご回答下さったのに申し訳ありませんが、>FOF_NOCONFIRMATIONを指定した場合でも、フォルダの上書きと読み取り専用ファイルの上書き時には確認のダイアログが表示されてしまうようです。
OSはなんでしょう?
WinXP Pro SP1で確認したところ、以下のソースでメッセージは出ませんでした。
SHFILEOPSTRUCTstSFO = { 0 };
stSFO.hwnd = hWnd;
stSFO.wFunc = FO_COPY;
stSFO.pFrom = "c:\\test1\\*.*\0";
stSFO.pTo = "c:\\test2\0";
stSFO.fFlags = FOF_NOCONFIRMATION;
int iRet = SHFileOperation(&stSFO);
サンプルまで載せて下さってありがとうございます。
無事解決致しました。
原因は、
Public Const FOF_NOCONFIRMATION = &H10&
が宣言されてなかったからのようです。
「.Flags = &H10&」 と指定したら上手くいきました。
ありがとうございました。
No.5
- 回答日時:
>FOF_NOCONFIRMATIONを指定した場合でも・・・ようです。
そう?
この方法で、読取専用ファイルに上書きしたことがあるよ
当時の環境
Win2K
VB6SP3
CDからHDへのまるまる上書きコピー
結果から言うと、読取専用の上書きコピーをするのといっしょ
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=423672
No.3
- 回答日時:
とか、
http://www.okweb.ne.jp/kotaeru.php3?q=423672
とか、
http://www.ab.wakwak.com/~greenspace/dev-api/the …
とか
FOF_NOCONFIRMATIONです。
ご回答ありがとうございます。
せっかくご回答下さったのに申し訳ありませんが、FOF_NOCONFIRMATIONを指定した場合でも、フォルダの上書きと読み取り専用ファイルの上書き時には確認のダイアログが表示されてしまうようです。
やはり、予め削除するのが良いのでしょうか・・・。
No.2
- 回答日時:
APIのファイルコピーではダメなんですか?
フォルダーの中身をすべて列挙して、コピーを行うというやり方です。
これだと、エラーメッセージは、一切出てきませんよ。
私はいつも、これを使っています。
ご回答ありがとうございます。
APIのファイルコピーとは、「FileCopy source, destination」のことでしょうか?
確かにこれでしたら、メッセージは一切表示されないのですが、この場合、フォルダは何階層あるかが不明なため、全てのフォルダ内のファイルという記述が分からずに断念してしまいました。
よろしければ、フォルダ内のすべてのファイル、フォルダを調べる事のできるサンプルかなにかありませんでしょうか?勝手ばかり言って本当にもうしわけありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) excel 別のフォルダから列コピーする方法 8 2022/12/17 16:24
- Windows Vista・XP windows10 フォルダを上書きするときに、元のフォルダを全て削除してコピーする方法 3 2022/05/22 00:53
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
[エクセル]コピーするとオブジ...
-
vbsでExcelのシートをコピーす...
-
frxファイルの役目
-
バッチファイル 別ファイルにリ...
-
現在のブックを閉じないで、マ...
-
バッチファイルのコピーで
-
同じファイル名 上書きしないフ...
-
エクセルのハイパーリンクがコ...
-
ファイルサーバ上のファイルが...
-
ピクチャーボックスやイメージ...
-
バッチファイル XCOPYで上書き...
-
Vba初心者です。下記のコード助...
-
xcopyでのバッチコピー方法でコ...
-
賃貸アパートの退去の時の返却...
-
FTPとファイルコピーの違いにつ...
-
WSHでファイルとフォルダのコピ...
-
ハイフネーションされている英...
-
VB6.0でデバッグ時、文字列の値...
-
バッチでリストに基づきサブフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
ファイルサーバ上のファイルが...
-
Vba初心者です。下記のコード助...
-
MSオフィス2013にMS365が上書き...
-
同じファイル名 上書きしないフ...
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
frxファイルの役目
-
[エクセル]コピーするとオブジ...
-
xcopyでのバッチコピー方法でコ...
-
バッチファイル 別ファイルにリ...
-
bat 同名ファイルコピー時にリ...
-
バッチファイルのコピーで
-
アクセス クエリを別のファイ...
-
vbsでファイルやフォルダのコピ...
-
マインクラフトPCをプレイしよ...
-
エクセル2010、図が大きすぎま...
-
現在のブックを閉じないで、マ...
-
開いている別のファイルにExcel...
-
FTPとファイルコピーの違いにつ...
おすすめ情報