5
我有一個vba宏,它對當前文檔進行了一些更改,並確定了應該使用它的文件名 - 如果文檔沒有保存爲該文件名,但用戶應該被提示這樣做(但應該能夠改變默認設置)。VBA Word - 另存爲對話框初始文件名
我發現兩種可能性都不完美(我需要這兩種可能性的組合)。
第一種方法:
Application.Dialogs(wdDialogFileSaveAs).Show
打開Save As
對話框,並允許您更改文件的格式和名稱,但是默認的文件名是原來的文件名或標題(最多像第一個特殊字符空白或-
)(如果它尚未保存 - 更改文檔的標題沒有什麼幫助,因爲建議的文件名將包含-
)。是否可以更改Save As
對話框中顯示的初始文件名?
第二種方法:
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = filename
Dim choice As Integer
choice = Application.FileDialog(msoFileDialogSaveAs).Show
If choice <> 0 Then
filename = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
Call ActiveDocument.SaveAs(filename:=filename, FileFormat:=wdFormatDocumentDefault)
End If
的FileDialog
只會選擇一個文件名,所以我們必須明確地保存它。 此方法將顯示我想要的filename
,但如果用戶將後綴更改爲例如.pdf
,則該文件仍將以.docx
格式保存(使用後綴.pdf)。在這種情況下,我並不打算對案例進行區分,因爲用戶需要的格式不同於.docx
。有沒有簡單的方法使用第二種方法以正確的格式保存文件?
更換呼叫ActiveDocument.SaveAs線你該死的權利,感謝 – outofmind