Folder.MoveHere メソッド

アイテムまたはアイテムをこのフォルダーに移動します。

構文

Folder.MoveHere(
  vItem,
  [ vOptions ]
)

パラメーター

vItem [in]

型: Variant

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

vOptions [in, optional]

型: Variant

移動操作のオプション。 この値には、0 または次の値の組み合わせを指定できます。 これらの値は、C++ SHFILEOPSTRUCT 構造体の fFlags メンバーで使用するために定義されたフラグに基づいています。 これらのフラグは、Visual Basic、VBScript、または JScript の場合のように定義されていないため、自分で定義するか、数値に相当するフラグを使用する必要があります。

(4)

[進行状況] ダイアログ ボックスは表示されません。

(8)

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

(16)

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

(64)

可能であれば、元に戻す情報を保持します。

(128)

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

(256)

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

(512)

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

(1024)

エラーが発生した場合は、ユーザー インターフェイスを表示しません。

(2048)

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

(4096)

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

(9182)

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

戻り値

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

解説

注意

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

 

次の例では 、MoveHere を使用して、Temp.txtファイルを C ドライブのルート ディレクトリから C:\Windows フォルダーに移動します。 JScript、VBScript、Visual Basic では適切な使用方法が表示されます。

Jscript:

<script language="JScript">
    var FOF_NOCONFIRMATION = 16;

    function fnFolderObjectMoveHereJ()
    {
        var objShell  = new ActiveXObject("shell.application");
        var objFolder = new Object;
        
        objFolder = objShell.NameSpace("C:\\WINDOWS");
        if (objFolder != null)
        {
            objFolder.MoveHere ("C:\\temp.txt", FOF_NOCONFIRMATION);
        }
    }
</script>

Vbscript:

<script language="VBScript">
    private const FOF_NOCONFIRMATION = 16
    
    function fnFolderObjectMoveHereVB()
        dim objShell
        dim objFolder

        set objShell = CreateObject("shell.application")
        set objFolder = objShell.NameSpace("C:\WINDOWS")

        if (not objFolder is nothing) then
            objFolder.MoveHere "C:\temp.txt", FOF_NOCONFIRMATION
        end if

        set objFolder = nothing
        set objShell = nothing
    end function
</script>

Visual Basic:

Private Const FOF_NOCONFIRMATION = &H10

Private Sub btnMoveHere_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.MoveHere "c:\temp.txt", FOF_NOCONFIRMATION
    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 以降)