2012-05-01 9 views
6

以下のコードでは、ファイル名はハードコードされていますが、ユーザーが選択できるようにしたいと考えています。単語にファイル名として保存する

私は約GetSaveAsFilenameを読んでいましたが、「メソッドまたはメンバーが見つかりません」というエラーが表示されます。

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

これは、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 

答えて

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 
+1

+1パスを初期化することは良い考えです:) –

+1

フルパスではなく名前だけを返すものは?しかし確かに私はそれを働かせることができます:)例の人々のための歓声 – DevilWAH

4

WordにGetSaveAsFileNameメソッドまたはGetOpenFileNameメソッド(Excelが持つ)がないことはわかりませんでした。しかし、それはしません。代わりに、名前を付けて保存のFileDialog(200320072010)を試すことができます。

Sub ShowSaveAsDialog() 
Dim dlgSaveAs As FileDialog 
Set dlgSaveAs = Application.FileDialog(FileDialogType:=msoFileDialogSaveAs) 
dlgSaveAs.Show 
End Sub 
+0

1を参照してください[これは 'FileDialog'の使い方の例(http://stackoverflow.com/questions/5148173/getsaveasfilename-default-folder/5165166#5165166)です。 –

+0

Doug、上記のコードでは、ユーザーエントリを取得する方法を明確にしていないと思うので、少し異なる答えを追加しました( 'dlgSaveAs.SelectedItems(1)'のようなものが必要です) – brettdj

+0

Brettdjは、これは、ファイル名を返すことはありません – DevilWAH

0
Dim strFilePath, strFileName 
strFilePath = "C:\Users\Public\Documents\" 
strFileName = "put-filename-here.docx" 

With Dialogs(wdDialogFileSaveAs) 
    .Name = strFilePath & strFileName 
    .Show 
End With 
関連する問題