このエントリーをはてなブックマークに追加


値や文字列の右詰め・左詰めをする方法・Right, Left, Spaceで実現する

VBScriptで右詰め、左詰めをしたい場合は、Right, Left, Space関数を使用することにより実現できます。


関連記事

右詰め、左詰めを実現する

たとえば10文字のフィールドに右詰め、左詰めしたい場合は以下のようにすれば実現できます。

右詰めの場合

右詰めの場合のサンプルスクリプトを以下に記します。

  • 右詰めサンプルVBScript
    ファイル名:right.vbs
    v = "hello"
    WScript.Echo "0123456789"
    WScript.Echo Right(Space(10) & v, 10)
  • 右詰めサンプルVBScript実行結果
    C:\wsh>cscript /nologo right.vbs
    0123456789
         hello
  • 右詰めサンプルサンプルスクリプトの動作説明
    上記のVBScriptのサンプルスクリプトは以下の動作になります。
  1. vにhello文字列を代入
  2. 0-10までのゲージを表示
  3. 幅10文字としているのでSpace関数を使って10文字分のスペースとhello文字列を格納するv変数を&で連結
  4. 連結した文字列をRight関数で右から10文字取得し表示する

左詰めの場合

左詰めの場合のサンプルスクリプトを以下に記します。

  • 左詰めサンプルVBScript
    ファイル名:left.vbs
    v = "hello"
    WScript.Echo "0123456789"
    WScript.Echo Left(v & Space(10), 10) & "!"
  • 左詰めサンプルVBScript実行結果
    C:\wsh>cscript /nologo left.vbs
    0123456789
    hello     !
  • 左詰めサンプルサンプルスクリプトの動作説明
    上記のVBScriptのサンプルスクリプトは以下の動作になります。
  1. vにhello文字列を代入
  2. 0-10までのゲージを表示
  3. 幅10文字としているのでSpace関数を使って10文字分のスペースとhello文字列を格納するv変数を&で連結
  4. 連結した文字列をLeft関数で左から10文字取得し表示する
  5. 左詰めで開きスペースには半角スペースを設定しているため、動作画面上では半角スペースが表示されているのかわからないので、最後に!を表示しています。

左詰め、右詰め関数を作成してみた

上記に記した方式の関数を作ってみました。
以下にVBScriptのサンプルコードを記します。

左詰め・右詰め関数サンプルコード

ファイル名:align.vbs

Function LeftEx(str, width)
	LeftEx = Left(str & Space(width), width)
End Function

Function RightEx(str, width)
	RightEx = Right(Space(width) & str, width)
End Function

WScript.Echo "01234567890123456789"
WScript.Echo LeftEx("left", 20) & "END"
WScript.Echo RightEx("right", 20)

左詰め・右詰め関数サンプルコード実行結果

C:\wsh>cscript /nologo align.vbs
01234567890123456789
left                END
               right

以上、Left, Right, Spaceの3関数を利用してVBScriptで右詰め、左詰めをする方法を紹介しました。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-05-10 (日) 10:38:00