[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/09/13(Mon) 07:47
投稿者名:kara
Eメール:
URL :
タイトル:
コピーのメッセージを出したくない
windows xp  sp6.0

おはようございます。
karaです
質問ですが、上書きコピーする場合
ファイルの上書きの確認のメッセージが出ます、それを出したくない。

Trueを使うのでしょうか、/yもエラーが出てしまいます。
なにかよい方法をご指示下さい。
よろしくお願いいたします。

Dim utdShellOpStruct      As SHFILEOPSTRUCT
    Dim lngWin32apiResultCode As Long

    ' ファイル操作に関する情報を指定
    With utdShellOpStruct
        ' 進行状況を表示するダイアログの親ウィンドウハンドルを指定
        .hWnd = Form1.hWnd
        ' 実行する操作に[コピー]を指定
        .wFunc = FO_COPY
        ' コピー元のファイルを指定
        .pFrom = Text1.Text
        ' コピー先のファイルを指定
        .pTo = "C:\WINDOWS\SYSBCKUP"
    
    End With
    ' ファイル操作を実行
    lngWin32apiResultCode = SHFileOperation(utdShellOpStruct)
この書き方だと、上書きのメッセージが出ます。

投稿時間:2004/09/13(Mon) 10:19
投稿者名:るしぇ
Eメール:
URL :
タイトル:
Re: コピーのメッセージを出したくない
単純に保存前にファイルの存在を確認して
存在すれば削除してしまえば
当然上書きにならないので
メッセージは出ませんが?

投稿時間:2004/09/13(Mon) 10:49
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :
タイトル:
Re: コピーのメッセージを出したくない

#「保存前にファイルの存在を確認」の別解として

fFlagsにFOF_NOCONFIRMATIONを指定することで、
ダイアログ表示を抑止できませんか?

Public Const FOF_NOCONFIRMATION = &H10&

>     With utdShellOpStruct
>         ' 進行状況を表示するダイアログの親ウィンドウハンドルを指定
>         .hWnd = Form1.hWnd
>         ' 実行する操作に[コピー]を指定
>         .wFunc = FO_COPY
>         ' コピー元のファイルを指定
>         .pFrom = Text1.Text
>         ' コピー先のファイルを指定
>         .pTo = "C:\WINDOWS\SYSBCKUP"

          .fFlags = FOF_NOCONFIRMATION

>     End With
>     ' ファイル操作を実行
>     lngWin32apiResultCode = SHFileOperation(utdShellOpStruct)

他にもいろいろオプションはありますので、
詳細は、SHFILEOPSTRUCT構造体についてのMSDN等の資料をご確認ください。
hhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/shfileopstruct.asp

投稿時間:2004/09/13(Mon) 11:21
投稿者名:kara
Eメール:
URL :
タイトル:
解決しました
るしぇさん、だいさん、ありがとうございました

.fFlags = FOF_NOCONFIRMATION

で表示されなくなりました。