Folder.CopyHere メソッド

アイテムまたはアイテムをフォルダーにコピーします。

構文

Folder.CopyHere(
  vItem,
  [ vOptions ]
)

パラメーター

vItem

Type: Variant

コピーするアイテム。 ファイル名、FolderItem オブジェクト、または FolderItems オブジェクトを表す文字列を指定できます

vOptions [省略可能]

Type: Variant

コピー操作のオプション。 この値には、0 または次の値の組み合わせを指定できます。 これらの値は、C++ SHFILEOPSTRUCT 構造体の fFlags メンバーで使用するために定義されたフラグに基づいています。 各シェル名前空間は、これらのフラグの独自の実装を提供する必要があります。各名前空間は、これらのフラグの一部またはすべてを無視することを選択できます。 これらのフラグは、Visual Basic、VBScript、または JScript の名前によって定義されないため、自分で定義するか、数値に相当するフラグを使用する必要があります。

注意

圧縮 (.zip) ファイルなど、一部のオプション フラグは設計上無視されることがあります。

 

(4)

進行状況ダイアログ ボックスを表示しません。

(8)

ターゲット名を持つファイルが既に存在する場合は、移動、コピー、または名前変更操作で、新しい名前で操作されているファイルを指定します。

(16)

表示されるダイアログ ボックスに対して、"すべてにはい" と応答します。

(64)

可能な場合は、元に戻す情報を保持します。

(128)

ワイルドカード ファイル名 (*.*) が指定されている場合にのみ、ファイルに対して操作を実行します。

(256)

進行状況ダイアログ ボックスを表示しますが、ファイル名は表示しません。

(512)

操作で作成する必要がある場合は、新しいディレクトリの作成を確認しないでください。

(1024)

エラーが発生した場合は、ユーザー インターフェイスを表示しないでください。

(2048)

バージョン 4.71。 ファイルのセキュリティ属性をコピーしないでください。

(4096)

ローカル ディレクトリでのみ動作します。 サブディレクトリに再帰的に操作しないでください。

(8192)

バージョン 5.0。 接続されているファイルをグループとしてコピーしないでください。 指定したファイルのみをコピーします。

戻り値

このメソッドは値を返しません。

解説

コピーが完了したことを示す通知は、呼び出し元のプログラムに通知されません。

注意

すべてのフォルダーに対してすべてのメソッドが実装されているわけではありません。 たとえば、ParseName メソッドは、コントロール パネル フォルダー (CSIDL_CONTROLS) には実装されません。 実装されていないメソッドを呼び出そうとすると、0x800A01BD (10 進数 445) エラーが発生します。

 

次の例では 、CopyHere を使用して、ルート ディレクトリから C:\Windows ディレクトリにAutoexec.bat ファイルをコピーします。 JScript、VBScript、Visual Basic では適切な使用方法が表示されます。

Jscript:

<script language="JScript">
    function fnCopyHereJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var objFolder = new Object;
        
        objFolder = objShell.NameSpace("C:\\WINDOWS");
        if (objFolder != null)
        {
            objFolder.CopyHere("C:\\AUTOEXEC.BAT");
        }
    }
 </script>

Vbscript:

<script language="VBScript">
    function fnCopyHereVB()
        dim objShell
        dim objFolder
        
        set objShell = CreateObject("shell.application")
        set objFolder = objShell.NameSpace("C:\WINDOWS")
 
        if not objFolder is nothing then
            objFolder.CopyHere("C:\AUTOEXEC.BAT")
        end if
 
        set objShell = nothing
        set objFolder = nothing
    end function
</script>

Visual Basic:

Private Sub btnCopyHere_Click()
    Dim objShell  As Shell
    Dim objFolder As Folder
    
    Set objShell = New Shell
    Set objFolder = objShell.NameSpace("C:\WINDOWS")
 
    If (Not objFolder Is Nothing) Then
        objFolder.CopyHere ("C:\AUTOEXEC.BAT")
    End If
 
    Set objFolder = Nothing
    Set objShell = Nothing
End Sub

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Shldisp.h
IDL
Shldisp.idl
[DLL]
Shell32.dll (バージョン 4.71 以降)

こちらもご覧ください

Folder