ファイル選択ダイアログGetOpenFilenameの初期フォルダを指定するには.DefaultFilePath を指定した後開放して再度CreateObject()する

[wsh][vbs]

一度=NothingしてからCreateObjectしないと設定が反映されない

    Dim xlApp
    Dim defPath
   
        Set xlApp = CreateObject("Excel.Application")
        defPath = xlApp.DefaultFilePath
       
        If FileFilter = "" Then FileFilter = "すべてのファイル,*.*"
        If FilterIndex = "" Then FilterIndex = 1
        If Title = "" Then Title = "ファイルを開く"
        If ButtonText = "" Then ButtonText = "開く"
        If MultiSelect = "" Then MultiSelect = False
        If InitDir <> "" Then
            With xlApp
                .DefaultFilePath = InitDir
                .Quit
            End With
            Set xlApp = Nothing '開放しないと設定が反映されない為
            Set xlApp = CreateObject("Excel.Application")
        End If
       
        With xlApp
            xlGetOpenFilename = .GetOpenFilename(FileFilter, _
                                                 FilterIndex, _
                                                 Title, _
                                                 ButtonText, _
                                                 MultiSelect)

…

ネタ元