![見出し画像](https://assets.st-note.com/production/uploads/images/156141705/rectangle_large_type_2_95e7fb8a08627c0eb78ef9e6c460565e.png?width=1200)
Photo by
chicori_3_3
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」で取得すればよいので、上記コードを使用する必要はありません。
しかし、拡張子なしのファイル名を取得したい場合には、上記コードを利用すれば、簡単に取得可能です。
いいなと思ったら応援しよう!
![ななし](https://d2l930y2yx77uc.cloudfront.net/assets/default/default_profile_4-e3b57528da29acad20d5a2db33268c87f1d39015448757ddf346d60fb5861e49.png?width=600&crop=1:1,smart)