6

以下のコードでは、ファイル名がハードコーディングされていますが、ユーザーが選択できるようにしたいと思います。

読んでいGetSaveAsFilenameたのですが、使用すると「メソッドまたはメンバーが見つかりません」というエラーが発生します。

fileSaveName = Application.GetSaveAsFilename _
    (fileFilter:="Excel Files (*.txt), *.txt")

これはWord2010用に書かれています。WordVBAGetSaveAsFilenameで利用できると考えるのは間違っていますか?

 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
4

3 に答える 3

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
于 2012-05-02T01:24:02.130 に答える
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
于 2012-05-02T07:04:29.807 に答える
0
Dim strFilePath, strFileName
strFilePath = "C:\Users\Public\Documents\"
strFileName = "put-filename-here.docx"

With Dialogs(wdDialogFileSaveAs)
    .Name = strFilePath & strFileName
    .Show
End With
于 2014-01-28T19:43:12.423 に答える