ホーム > カテゴリ > Visual Basic >

ダイアログ付きでファイルをコピーする

ダイアログ付きでファイルをコピーするサンプルです。

サンプルの実行画面

ソースコード

[FileOperation.frm]

' SHFileOperation =>ファイルを操作(コピー・移動。削除)する

'<引数>
'lpFileOp: SHFILEOPSTRUCT構造体

'<戻り値>
'正常終了0

Private Declare Function SHFileOperation Lib "SHELL32" (lpFileOp As SHFILEOPSTRUCT) As Long


Private Type SHFILEOPSTRUCT
     hwnd As Long                  'ウインドウのハンドル
     wFunc As Long                 '定数(FO_××参照)
     pFrom As String               'ファイル操作元のファイル名・ディレクトリ
     pTo As String                 'ファイル操作先のファイル名・ディレクトリ
     fFlags As Integer             '定数(FOF_××参照)
     fAnyOperationsAborted As Long 'キャンセルボタンのフラグ
     hNameMappings As Long         '
     lpszProgressTitle As String   'タイトル
End Type

Const FO_MOVE   As Long = &H1    'ファイルを移動
Const FO_COPY   As Long = &H2    'ファイルのコピー
Const FO_DELETE As Long = &H3    'ファイルを削除
Const FO_RENAME As Long = &H4    'ファイル名変更

Const FOF_ALLOWUNDO = &H40         'ゴミ箱へ削除
Const FOF_FILESONLY = &H80         'ディレクトリを含まない
Const FOF_SIMPLEPROGRESS = &H100   'ファイル名を表示しない
Const FOF_MULTIDESTFILES = &H1     '
   
 
 
Private Sub Command1_Click()


 Dim Ret As Long              '戻り値
 Dim SH As SHFILEOPSTRUCT     'SHFILEOPSTRUCT構造体
   
           
    With SH
      .hwnd = nHwnd                 'ウインドウのハンドル
      .wFunc = FO_COPY              '操作方法
      .pFrom = Text1.Text           '操作元のファイル名
      .pTo = Text2.Text             '操作先のファイル名
      .fFlags = FOF_MULTIDESTFILES  'フラグ
    End With
           
    Ret = SHFileOperation(SH)


End Sub

ソースコード一式のダウンロード

vbapi_fileoperation.zip 1.29 KB (1,328 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月03日
記事NO:00320