Tab関数
Tab関数は、VBA関数の中でファイル・フォルダに関する関数に分類される関数です。
目次
Tab関数とは
Tab関数は、Print # ステートメントまたは Print メソッドと共に使用し、次の文字の出力位置を移動するファイル入出力関数です。
構文 | Tab[(n)] | |
---|---|---|
引数 | 省略 | 説明 |
filenumber | ● | 引数 n にはリスト内の次の式を表示または印刷する前に移動する桁数を指定します。引数 n を省略すると、次の印字領域の先頭にカーソルを移動します。このため、国別情報の設定で小数点記号としてカンマ (,) が指定されている場合に、Tab 関数を使用できます。 |
出力行上の出力位置が引数 n を超える場合、Tab 関数は次の出力行の n 桁目に進みます。引数 n に 1 未満の値を指定すると、出力位置は桁位置 1 に移動します。引数 n が出力行の桁数を超える場合、Tab 関数は次の式を使って次の出力位置を決めます。
n Mod width
たとえば、出力行の桁数 (width) を 80、Tab(90) と指定すると、次の出力は 10 の位置 (90/80 の剰余) から始まります。指定した桁位置 n が現在の出力位置より前の場合、次の行に改行され、計算した桁位置に出力位置が移動します。計算された出力位置が現在の出力位置より後ろのときは、同じ行上の計算された位置に出力位置が移動します。
出力行上の出力位置は左端を 1 と数えます。Print # ステートメントを使ってファイルを出力する場合、出力位置の右端は出力ファイルの現在の 1 行の桁数に相当します。出力ファイルの桁数は、Width # ステートメントを使って設定します。
幅の広い文字を表示できるだけの十分な桁数があることを確認してください。
Tab 関数を Print メソッドの中で使う場合、文字の幅がすべて均一な "固定幅のフォント" と、文字によって幅が異なる "プロポーショナル フォント" では、1 行に表示される文字数 (桁数) が異なることに注意してください。表示画面は均等な固定幅の桁に分けられています。それぞれの幅は、選択したフォントのポイント サイズにおけるすべての文字の幅を平均したものになります。表示される文字数と文字の占める固定幅の桁数は互いに無関係です。たとえばプロポーショナル フォントの場合、大文字の W は固定幅のフォントの 1 桁の幅よりも広く、小文字の i は 1 桁の幅よりも狭くなります。
Tab関数のサンプルコード
次の例は、Tab 関数を使って、ファイルまたはイミディエイト ウィンドウ内の出力位置を移動します。
Sub Sample
' Tab 関数は、Print # ステートメントの中で使うことができます。
Open "TESTFILE" For Output As #1 ' シーケンシャル出力モードでファイルを開きます。
' 2 番目の単語は、20 桁目から表示します。
Print #1, "皆さん"; Tab(20); "こんにちは"
' 引数を省略すると、カーソルは次の出力位置に移動します。
Print #1, "皆さん"; Tab; "こんにちは"
Close #1
End Sub
Tab 関数は、Print メソッドの中でも使うことができます。次のステートメントは、文字列を 10 桁目から表示します。
Sub Sample
Debug.Print Tab(10); "10 桁目から表示します。"
End Sub
実行結果
解説
ファイル・フォルダに関する関数一覧
関数名 | 内容 |
---|---|
CurDir | 指定したドライブの現在のパスを返します。 |
Dir | 指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を返します。 |
EOF | ファイルの現在位置が末尾かどうかを調べて結果を返します。 |
FileAttr | ファイルから指定した種類の情報を返します。 |
FileDateTime | ファイルの作成日時または最後に修正した日を返します。 |
FileLen | ファイルのサイズを返します。 |
FreeFile | 指定したファイル番号の範囲から、次に使用可能なファイル番号を返します。 |
GetAttr | ファイルまたはフォルダの属性を返します。 |
Loc | 開いているファイルの読込位置または書き込み位置を返します。 |
LOF | 開いているファイルの長さを返します。 |
Seek | 開いているファイルの読込位置または書き込み位置を返します。 |
Tab | 文字の出力位置を移動します。 |
VarType | 変数の内容を示す値を返します。 |