このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「vba activeworkbook.name 拡張子」
という検索キーワードでのアクセスがあることに気づきました。
Excel VBA(Visual Basic for Applications)で、「ActiveWorkbook.Name」というオブジェクト式から、アクティブなブックの拡張子を取得するには、どのようなコードを書けばいいのかを探していらした方による、検索キーワードでしょうか。
ActiveWorkbook.Nameから拡張子を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなブックの拡張子がメッセージボックスに表示されます。
Dim bk_nm As String ' アクティブブックの名前
Dim pos As Long ' 「.」の位置 bk_nm = ActiveWorkbook.Name
pos = InStrRev(bk_nm, ".")
If pos > 0 Then
MsgBox Mid(bk_nm, pos + 1)
End If
End Sub
サンプルマクロの解説
アクティブなブック名を変数に格納しておいて、
bk_nm = ActiveWorkbook.Name
「.」を、InStrRev関数を使って、アクティブブック名の後ろから探して、
pos = InStrRev(bk_nm, ".")
「.」より後ろの文字列をMid関数で取得して、メッセージボックスに表示しています。
MsgBox Mid(bk_nm, pos + 1)
オブジェクト変数を使ってActiveWorkbook.Nameから拡張子を取得するサンプルマクロ
オブジェクト変数を使うのなら以下のようなSubプロシージャです。
Dim bk As Workbook
Dim pos As Long '「.」の位置 Set bk = ActiveWorkbook
pos = InStrRev(bk.Name, ".")
If pos > 0 Then
MsgBox Mid(bk.Name, pos + 1)
End If
End Sub
Home » エクセルマクロ・Excel VBAの使い方 » Workbookオブジェクト » ActiveWorkbook.Nameから拡張子
- Newer:シート名に連番を振るExcelマクロ
- Older:インストラクターのネタ帳の2016(平成28)年の人気ページ
TrackBack:0
- TrackBack URL