0
我在Excel VBA中有一個窗體。在單擊一個命令按鈕時,將顯示一個文件另存爲對話框,以選擇保存輸出的路徑(稍後將創建該路徑)。Excel VBA Application.FileDialog(msoFileDialogSaveAs)失敗,0x80010108
Private Sub HandleBrowseDestination(edtTarget As MSForms.TextBox)
If blnEvents <> False Then
With Application.FileDialog(msoFileDialogSaveAs) ' Error 0x80010108
.AllowMultiSelect = False
If .Show = -1 Then
edtTarget.Value = .SelectedItems(1)
End If
End With
End If
End Sub
如果在應用程序中至少有一個工作簿打開,那麼效果很好。
如果沒有,則會出現問題:我在指示的線上收到錯誤0x80010108。
問題是:我希望路徑選擇的任務與當前打開的工作簿分離,因爲它與新創建的工作簿(如果完全相關)有關。如何顯示saveas對話框 - 獨立於當前打開的工作簿?
「我想這條道路選擇的任務從當前打開的工作簿分離......」在這種情況下,爲什麼要使用'msoFileDialogSaveAs 「所有?爲什麼不使用'msoFileDialogFolderPicker',然後使用該路徑保存新的工作簿? – Miqi180
感謝您的建議,我試過msoFileDialogFolderPicker,但它是用於選擇文件夾。我也試過msoFileDialogFilePicker,但是隻允許選擇現有的文件。沒有辦法輸入尚未存在的文件的路徑嗎? – z32a7ul
這條語句怎麼會發生「_a保存輸出的路徑(稍後要創建)_」?如果路徑不存在,您希望Excel如何知道它?您可以使用'msoFileDialogFolderPicker'將路徑保存爲變量,然後將其粘貼到所需的文件名IE中:對話框選取器獲取FileToWork = ...'msoFileDialogFolderPicker'&FutureArchive – Sgdva