Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2010)
外付けハードディスクドライブへのChDirについて
投稿日時: 19/06/30 11:44:37
投稿者: pyonpyon

エクセル起動直後に外付けハードディスクのフォルダをGetOpenFilenameするとPCのドキュメントフォルダを開いてしまいます。何が問題でしょうか?
ご教授お願いします。
 
・ZS.Cells(1, 9)には外付けハードディスクのフォルダ名"G:\デモ用\"が入っています。
・一度"G:\デモ用\"を開くとその後は、"G:\デモ用\"を開きます。
・ZS.Cells(1, 9)の内容がローカルフォルダの場合は、エクセル起動直後も問題なく開きます。
 
以下、ソース抜粋
 
Private Sub CommandButton1_Click()
 
  定義等省略
 
    LastOpenFolder = ZS.Cells(1, 9)
    ChDir LastOpenFolder
    MakeBookFullPath = Application.GetOpenFilename(FileFilter:="Excelファイル,*.xlsm")
    If MakeBookFullPath = "False" Then
        GoTo endpfm
    End If
 
End Sub

回答
投稿日時: 19/06/30 12:09:32
投稿者: WinArrow
投稿者のウェブサイトに移動

↓のコードを挿入してみましょう
    ChDrive LastOpenFolder
    ChDir LastOpenFolder
 
理由
先に、ドライブを切替する必要があります。

回答
投稿日時: 19/06/30 12:12:04
投稿者: simple

Chdirは同じドライブの中の話。
ドライブを移動するときは、ChDriveが必要です。

ChDrive LastOpenFolder
ChDir LastOpenFolder
とします。
ChDriveのヘルプにあるように、
引用:
引数 drive に 2 文字以上の文字列を指定した場合、最初の 1 文字だけが使用されます。
なので、上のように書けば、最初の一文字(G)だけが読まれて、Gドライブに移ります
もちろん ChDrive "G" としてもよいわけですが。

回答
投稿日時: 19/06/30 12:14:04
投稿者: simple

わー、丸かぶりでした。
失礼、と言いつつ残してしまう厚かましさ。

投稿日時: 19/06/30 12:46:32
投稿者: pyonpyon

WinArrowさn、simpleさん
 
早速のご返答ありがとうございます。
 
そういえば、ChDrive、見た記憶があります。
 
ありがとうございました。