WordVBAでドキュメント名を取得する
ExcelVBAでは、色々なコードが公開されていますが、WordVBAでは参考になるもサイトが少ないので、自身の勉強も兼ねて、いくつかのコードを公開していきたいと思います。
これから紹介するのは、WordVBAでドキュメント(文書)のファイル名を取得するコードです。
Sub sb文書名取得テスト()
Debug.Print zfDocumentName(ActiveDocument, a_拡張子:=True) 'Macroテスト.docm
Debug.Print zfDocumentName(ActiveDocument, a_拡張子:=False) 'Macroテスト
End Sub
Public Function zfDocumentName(a_doc As Document, Optional a_拡張子 As Boolean = True) As String
'ドキュメント名を取得するユーザー定義関数
'※引数にTRUEを指定するか何も指定しないと拡張子付きで、引数にFALSEを指定すると拡張子なしでファイル名を返すユーザー定義関数
Dim doc_name As String
doc_name = a_doc.Name
If a_拡張子 = True Then
zfDocumentName = doc_name
Else
zfDocumentName = Left(doc_name, InStrRev(doc_name, ".") - 1)
End If
End Function
基本的には拡張子ありの場合には、「ActiveDocument.Name」で取得すればよいので、上記コードを使用する必要はありません。
しかし、拡張子なしのファイル名を取得したい場合には、上記コードを利用すれば、簡単に取得可能です。
もしよろしければサポートをお願いします。今後の執筆のかてにします。