テキストとテキストフォーマットビルダー

テキストビルダーとフォーマットビルダーは、VBAエディタのテキストメニューにあります:

テキストを扱うことは、VBAを使う上で重要なことです。単純なメッセージボックスであれ、UserFormであれ、Excelのテキストであれ、ユーザに情報を伝えることができなければなりません。

文字列ビルダーは、書かれたテキストを使用可能な文字列に変換します。改行、特殊文字(引用符)を解釈し、テキスト内の変数を利用します。(もうVBAで改行の打ち方をウェブ検索する必要はありません!)。

書式ビルダーを使えば、数値を希望の書式(日付、通貨など)に書式設定することができます。

文字列ビルダー

まず、作業するために既存のプロシージャが必要だ:

string builder vba

このプロシージャはこのMessageBoxを出力する:

数字が書式なしであることに注目してほしい。また、テキストを含むより包括的なメッセージを入れたい場合はどうすればいいでしょうか?そこで、StringビルダーとFormatビルダーが役に立ちます。

次に文字列ビルダーに移動する

string builder menu

テキストを入力します。改行と引用符がプレビュー領域で自動的に処理されることに注目してください。

preview text

通常、数値は変数として格納されます。文字列に変数を挿入するには、カーソルをテキスト内の変数を表示させたい場所に移動させます。

ドロップダウンから変数を選択し、挿入をクリックします。

insert variable

これで後述するフォーマット・ビルダーが開く。書式を設定したら、文字列ビルダーメニューに戻ります。

プレビュープロシージャウィンドウに、作成した文字列が表示されます:

preview string procedure

挿入したコードをプロシージャー内の別の場所に移動するには、「マウス位置に移動」をクリックする。

文字列の挿入

このコードでは、テキスト文字列がプロシージャの途中で浮いているため、エラーになります。テキスト文字列はテキスト関数(MsgBoxなど)の中に移動させるか、文字列変数に追加する必要があります。ここでは、フォームの一番上にあるボックスをチェックして、文字列変数に追加することにする:

insert string var

OKをクリックしてフォームを閉じ、新しい文字列変数を出力するようにプロシージャコードを編集します:

string builder output

フォーマットビルダー

フォーマットビルダーは単独で開くことができます:

open format builder

ストリングビルダーから変数を挿入するか、編集をクリックして開くことができる:

open format builder

希望の書式を選択し、プレビュー領域に書式テキストと書式を設定するコードが表示されることに注目してください:

format builder

カスタムフォーマットツールを使って、より複雑なフォーマットを作成することもできます。

custom number formats

注意:フレームワークのアップデートにより、カスタムフォーマットが正しく表示されない場合があります。一般的なシナリオには対応しています。

[get_templateテンプレート=”template-parts/pagination/am-documentation”]。

Excel の自動化を開始