Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Word 2013)
新規文書を任意の場所・名前で保存したい
投稿日時: 20/05/15 11:26:50
投稿者: たかみ

非常に初歩的なことなのだと思うのですが、こういう場合、どうすればよいのか教えていただけますでしょうか。
 
 
あるWordマクロを作りました。
動作確認のために保存場所とファイル名は決め打ちしました。
で、そのマクロ自体は意図通りの挙動が出来ていることを確認したので、そのマクロで作成した新規のWord文書を
 
「ダイアログを出して、ユーザーに保存場所とファイル名を入力してもらい、その指定の場所・指定の名前で保存したい」
のです。
 
ExcelVBAでいうところの「GetSaveAsFilename」で取得した戻り値を参照して保存みたいなことを、WordVBAでやるには、どうすればよいのでしょうか。
 
 
自分なりに、あちこち調べてはみたのですが、そのものズバリの情報を見つけられませんでした。
場所と名称を決め打ちするか、ActiveDocument.PathとかActiveDocument.Nameとかでパスと名前を指定するコードしか見つけられず……。
 
件名の場合のやり方についての、サンプルコードの場所など、情報をご教授いただけますと幸いです。

回答
投稿日時: 20/05/15 18:49:15
投稿者: MMYS

なぜか、WordVBAにはGetSaveAsFilenameがありません。
 
代替案。FileDialogを使う方法。
 

Sub Test1()
    Dim filename As String
    Dim result   As Long
    With Application.FileDialog(msoFileDialogSaveAs)
        result = .Show
        If result Then
            filename = .SelectedItems(1)
        End If
    End With
    ActiveDocument.SaveAs filename
End Sub

 
ちなみに、FileDialogは、こんな使い方も出来ます。
 
Sub Test2()
    Dim filename As String
    Dim result   As Long
    With Application.FileDialog(msoFileDialogSaveAs)
        .InitialFileName = "D:\新しいフォルダー\NewBook"
        .FilterIndex = 2    'docm形式
        result = .Show
        If result Then
            .Execute        '保存実行
        End If
    End With
End Sub

 

投稿日時: 20/05/18 09:56:26
投稿者: たかみ

土日に、こちらを拝見できずお礼が遅くなりまして申し訳ありませんでした。
 
早速お教えいただいたコードを試させていただき、希望通りの挙動をさせることができました。
どうもありがとうございました。
 
また、何かありましたら、質問させていただくと思いますが、よろしくお願いいたします。