我一直在使用下面的代碼在Excel中指定的文件夾路徑:VBA Excel中獲取文件路徑 - 不工作
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Show
我會導出PDF文件(通過VBA代碼),這條道路。當我在Windows XP上運行Excel 2007時,此代碼完美無瑕。我最近升級了我的操作系統和辦公版本,現在我的Excel 2010在Windows 7上運行。代碼不再像以前那樣工作,問題是每次運行代碼時路徑都會一直向上移動一個級別。
例如,假設我選擇以下路徑:
\users\AK\Desktop\Projects\ProjectM
實際的PDF文件被保存在\users\AK\Desktop\Projects\
如果我選擇:\users\AK\Desktop\Projects\
PDF文件被保存在\users\AK\Desktop\
如果我繼續運行代碼,它會一直跳到一個級別,所以讓我說我連續運行3次(沒有選擇我的路徑)我的PDF文件將存儲在:\ users \ AK \
我不知道它是一個Excel 2010問題或Windows 7問題。有沒有人遇到過這個?
編輯:包括全碼:
Private Sub CODERUN()
' Define values
FN_A = Cells(2, 2).Value
' Print PDF version
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Show
' Print PDF version
Sheets("Part A").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=FN_A & "_A", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
您應該顯示代碼的其他相關部分。您列出的內容不足以診斷問題。 –
如果您每次都運行上述操作,則必須每次選擇路徑;我同意@TimWilliams你需要展示一段完整的代碼 - 你如何使用返回的路徑,以及如何循環?有了這兩條信息,我們就可以重現問題和幫助。 – Floris
同意上面的兩條評論。無論如何,你也可以嘗試使用'GetSaveAsFilename'來保存任何格式的文件,儘管我還沒有用PDF來嘗試它,因爲上面有點複雜。 – L42