VBAのSpc関数について解説しています。
Spc関数は、VBA関数の中で制御・入出力関数に分類される関数です。
Spc関数は、Print # ステートメントまたは Print メソッドと共に使用し、指定した数のスペースを挿入するファイル入出力関数です。
構文 | Spc(n) | |
---|---|---|
引数 | 省略 | 説明 |
number | × | 引数 n には、Spc(n) の次に指定したデータ数式、または文字列式に挿入するスペースの数を指定します。 |
引数 n に出力行の桁数未満の値を指定すると、次の出力位置は指定した数のスペースの直後になります。引数 n に出力行の桁数を超える値を指定すると、Spc 関数は次の出力位置を次の式で計算します。
currentprintposition + (n Mod width)
たとえば、現在の出力位置 (currentprintposition) を 24、出力行の桁数 (width) を 80、Spc(90) と指定すると、次の出力は 34 の位置 (現在の出力位置 + 90/80 の剰余) から始まります。現在の出力位置と出力行の桁数との差が n (または、n Mod width) 未満の場合、Spc 関数は次の行の先頭に進み、n - (width - currentprintposition) の式に従ってスペースの数を計算し、次の出力位置を決めます。
メモ 幅の広い文字を表示できるように、十分な桁数があることを確認してください。
Print メソッドでプロポーショナル フォントを使うとき、Spc 関数を使用して表示されるスペースの幅は、選択したフォントのポイント サイズが持つすべての文字の幅を平均したものになります。表示される文字数と、1 文字の占める固定幅の桁数は互いに無関係です。たとえばプロポーショナル フォントの場合、大文字の W は固定幅のフォントの 1 桁の幅よりも広く、小文字の i は 1 桁の幅よりも狭くなります。
次の例は、Spc 関数を使って、出力ファイルとイミディエイト ウィンドウ内の出力位置を移動します。
Sub Sample
' Spc 関数は、Print # ステートメントの中で使うことができます。
Open "TESTFILE" For Output As #1 ' シーケンシャル出力モードで開きます。
Print #1, "ここから"; Spc(10); "ここまでの間に 10 個のスペースが挿入されます。"
Close #1 ' ファイルを閉じます。
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
次の例は、Spc 関数を使って、出力ファイルとイミディエイト ウィンドウ内の出力位置を移動します。
Sub Sample
Debug.Print Spc(30); "30 個のスペースです。"
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
関数名 | 内容 |
---|---|
Choose | 数値で指定した式の値を返します。 |
IIf | 式の結果により2つの引数のうち1つを返します。 |
Input | ファイルから指定した文字数の文字列を読みこんで返します。 |
InputB | ファイルから指定したバイト数のデータを読み込んで返します。 |
InputBox | ダイアログボックスにメッセージを表示しテキストボックスに入力した値を返します。 |
MsgBox | ダイアログボックスにメッセージを表示します。 |
Partition | 指定した数値の範囲が属する文字列を返します。 |
Spc | 指定した数のスペースを挿入します。 |
Switch | 条件式を評価し、真(True)の場合に式を返します。 |
TypeName | 変数に関する情報を返します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。