在word中保存为文件名

Dev*_*WAH 6 ms-word save word-vba

在下面的代码中,文件名是硬编码的,但我希望用户能够选择它.

我正在阅读GetSaveAsFilename但是在使用它时出现错误:"找不到方法或成员".

fileSaveName = Application.GetSaveAsFilename _
    (fileFilter:="Excel Files (*.txt), *.txt")
Run Code Online (Sandbox Code Playgroud)

这是为Word 2010编写的.我GetSaveAsFilename在VBA这个词中有错误吗?

 Sub Macro3()
'
' Macro3 Macro
'
'
    ActiveDocument.SaveAs2 FileName:="Questionnaire01-05-20122.txt", _
        FileFormat:=wdFormatText, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=True, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=False, _
         AllowSubstitutions:=False, LineEnding:=wdCRLF, CompatibilityMode:=0
End Sub
Run Code Online (Sandbox Code Playgroud)

Dou*_*ncy 5

我没有意识到 Word 没有 GetSaveAsFileName 或 GetOpenFileName 方法(Excel 有)。但事实并非如此。相反,您可以尝试 SaveAs FileDialog ( 2003 , 2007 , 2010 ):

Sub ShowSaveAsDialog()
Dim dlgSaveAs As FileDialog
Set dlgSaveAs = Application.FileDialog(FileDialogType:=msoFileDialogSaveAs)
dlgSaveAs.Show
End Sub
Run Code Online (Sandbox Code Playgroud)


bre*_*tdj 4

您可以向对话框提供包含文件名的默认路径,即

Sub SaveName()
    Dim strFileName As String
    Dim StrPath As String
    'provide default filename
    StrPath = "c:\temp\test.docx"
    With Dialogs(wdDialogFileSaveAs)
        .Name = StrPath
        If .Display <> 0 Then
            strFileName = .Name
        Else
            strFileName = "User Cancelled"
        End If
    End With
    MsgBox strFileName
End Sub
Run Code Online (Sandbox Code Playgroud)