関数・メソッド

カレントドライブを変更する【ChDriveステートメント】【ExcelVBA】

構文

ChDrive drive

drive・・・・・カレントドライブを文字列で指定。

ChDriveステートメントはカレントドライブを変更します。
現在のカレントドライブは CurDir で取得可能です。(カレントフォルダも含め取得)

ChDriveステートメントのサンプルコード

    Public Sub sample()
        '■現在のカレントフォルダを取得
        Debug.Print CurDir              'C:\Users\User\Documents
        
        '■現在のカレントドライブを取得
        Debug.Print Left(CurDir, 1)     'C
        
        '■カレントフォルダをDドライブに変更する
        ChDrive "D"
        
        '■カレントフォルダをZドライブ(\\server\work)に変更する
        ChDrive "Z"
        
        '■ドライブが存在しないと、実行時エラー '68':デバイスが準備されていません。
        ChDrive "D"
        
        '■ドライブ名が割り当てられていないネットワークドライブに変更しようとすると
            '実行時エラー '5':プロシージャの呼び出し、または引数が不正です。
        ChDrive "\\server\work"
    End Sub


注意点

  • カレントフォルダを変更するChDirステートメントがあるにも関わらず、
    カレントドライブだけを変更するステートメントが用意されている理由は、以下です。
  • ChDirステートメントでは別ドライブに変更が出来ません。
  • ChDirステートメントではネットワークドライブには変更が出来ません。
  • CHDriveでもネットワークドライブに変更できるのは、割り当てしたドライブのみです。
    割り当てしないドライブに変更する場合は、WScript.Shell.CurrentDirectoryで変更する必要があります。

関連記事

コメント

タイトルとURLをコピーしました