重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VB6 で CommonDialog を使用し、指定先にフォルダをコピーしたいのですが
同じ名前のフォルダが有る場合、上書き確認が表示されずフォルダ配下に
移動してしまう。

On Error GoTo AAA
CommonDialog1.Flags = cdlOFNOverwritePrompt
CommonDialog1.ShowSave
Set cFso = New FileSystemObject
Call cFso.CopyFolder(フォルダ元パス, CommonDialog1.FileName, False)
Exit Sub
AAA:

ファイルの場合は確認ダイアログが開いたのですが、上記の場合上書きも出来ません。
コピー処理が違うのでしょうか?教えて下さい。(コピーは出来ました)
ファイルの場合 ⇒ FileCopy フォルダ元パス, CD1.FileName で処理しました。

A 回答 (2件)

FileListBoxでも可能ですが、


フォルダ選択ダイアログ(Win32 APIのSHBrowseForFolder)というのがあります
こちらのダイアログの方がよく見ると思います

★フォルダ・ファイルの重複チェック確認は自分で作らないといけませんが
    • good
    • 0
この回答へのお礼

このダイアログは知りませんでした。
>こちらのダイアログの方がよく見ると思います
試したことが無いので調べて使用してみます。
新たな方法を習得出来そうです。有難う御座いました。

お礼日時:2010/01/21 11:20

CommonDialogのSAVE対象がファイルだからです



>上書き確認が表示されずフォルダ配下に
フォルダ出力のつもりでも、CommonDialogはファイル出力で動いているからです

>コピー処理が違うのでしょうか?教えて下さい。(
フォルダの上書きチェックは、自分で組まないとダメですね

この回答への補足

回答有難う御座いました。
なるほど、ファイル対象だから配下のファイルに移動するんですね。

しかし、CommonDialog1.ShowSave (保存が実行される時?) の後に組むと
配下に1度移動してしまい、その前だと保存先のファイルパスが分からない?
チェックを入れるタイミングが有りません・・・
(配下移動 + 保存 後の処理は出来そうなのですが2回保存をクリックがしっくりいきません)

フォルダとファイルをコピーする場合はCommonDialogでなくFileListBoxなど
を使用する方が良いのでしょうか?

補足日時:2010/01/21 08:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!