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 [デスクトップ アプリのみ] |
ヘッダー |
|
IDL |
|
[DLL] |
|
こちらもご覧ください