2015-10-06 29 views
5

私は、現在のドキュメントにいくつかの変更を加えるvbaマクロを持っています。ドキュメントがそのファイル名で保存されていないのに(デフォルト設定を変更できるはずです)。VBA Word - 初期ファイル名で保存ダイアログ

私は2つの可能性が両方とも完璧ではないことを発見しました(私はそれらの2つの組み合わせが必要です)。

最初のアプローチ:

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とは異なるフォーマットを必要とするまれなケースでは、ここでのケースを大きく区別するつもりはありませんでした。この2番目の方法を使用して正しい形式でファイルを保存する簡単な方法はありますか?

答えて

6

あなたが気正しい

Application.FileDialog(msoFileDialogSaveAs).Execute 
+0

とコールActiveDocument.SaveAsラインを交換しようとしたことがあり、おかげで – outofmind

関連する問題