Captionプロパティ
Excelのウィンドウのタイトルバーに表示されているウィンドウ名を変更する場合はCaptionプロパティを利用します。
タイトルバーには通常はブック名が表示されています。
このタイトルバーに書いてある文字列を取得する場合もCaptionプロパティを利用します。
なお、タイトルバーのハイフンの右側にはExcelを表す文字が設定されていますが、それを変更する場合はApplication.Captionプロパティを利用します。詳細については「VBAでアプリケーションウィンドウのタイトルを変更する」をご参照ください。
構文
取得時
Window.Caption
設定時
Window.Caption = 設定値(Variant)
親オブジェクト | 親オブジェクトにはWindowオブジェクトを指定します。
コードを書く場合はActiveWindowを使うことが多いと思います。 |
設定値 | タイトルバーのウィンドウ名に設定したい文字列を指定します。
定義上の型はVariant型ですがString型でも構いません。制限として全角、半角文字に関わらず200文字までしか設定できません。201文字以上はエラーになります。 |
設定可能な文字数
Captionプロパティでウィンドウ名に設定可能な文字数には200文字までの制限があります。
全角文字、半角文字どちらも200文字で、Shift-JIS換算のバイト数ではなく文字数での制限です。
201文字以上を設定すると「実行時エラー’1004′: アプリケーション定義またはオブジェクト定義のエラーです。」のエラーダイアログが表示され処理が中断します。
ウィンドウ名の拡張子
タイトルバーのウィンドウ名には拡張子が付く場合と付かない場合があります。
エクスプローラーのフォルダオプションの設定で「登録されている拡張子は表示しない」にチェックが付いているとタイトルバーにも拡張子は表示されません。
チェックが外れている場合は拡張子が表示されますが、未保存のBook1などの新規ブックの場合は拡張子が決まっていないため、Captionプロパティで参照した場合も拡張子は取得できません。
サンプルコード
イミディエイトウィンドウにアクティブウィンドウのウィンドウ名を出力するサンプルです。
1 2 3 |
Sub WindowCaptionTest1() Debug.Print ActiveWindow.Caption End Sub |
アクティブウィンドウのウィンドウ名に現在日時文字列を連結して設定するサンプルです。
1 2 3 |
Sub WindowCaptionTest2() ActiveWindow.Caption = ActiveWindow.Caption & Format(Now, "yyyy/mm/dd hh:mm:ss") End Sub |
実行前と実行後です。
実行前
実行後