SHFileOperationを使う時のエラー


初心者1  2006-02-10 21:32:57  No: 94126

SHFileOperationを使ってある既存したファイル(d:\temp\1.doc)を新しいディレクトリ(e:\a1\b1)にコピーしようが,最初”フォルダe:\a1\b1は存在しません.作成しますか?”というメセージが出てきますが,”はい”と選んだら無事終了しました.作成したフォルダを開いてみると,e:\a1の下にbというファイルができていますが,1.docは存在しません.
sf.pTo = "e:\a1\b1\"に変えましたが,”フォルダe:\a1\b1は存在しません.作成しますか?”というメセージが出てきます,”はい”と選んだら”1をコピーできません.指定されたパスがみつかりません.”というエラー出てきました.
ただし,e:\a1\b1フォルダはちゃんとできていました.中にファイルはないだけです.
ちょっと不可解の問題だと思いますが.先輩達何かご指摘があれば幸いだと思います.
どうぞ宜しくお願いたします.

******************************************************************
Private Declare Function SHFileOperation Lib "shell32" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Long
    hNameMappings As Long
    lpszProgressTitle As String
End Type

Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_MOVE = &H1
Private Const FO_RENAME = &H4

Private Sub Command1_Click()

    Dim Ret As Long
    Dim sf As SHFILEOPSTRUCT
    sf.hwnd = Me.hwnd
    sf.wFunc = FO_COPY
    sf.pFrom = "d:\temp\1.doc"
    sf.pTo = "e:\a1\b1"

    Ret = SHFileOperation(sf)

    If Ret <> 0 Then MsgBox "失敗しました。"

End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加