- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-05-10T10:45:00+09:00;2020-05-10T10:38:00+09:00","","")
#navi(../)
* 値や文字列の右詰め・左詰めをする方法・Right, Left, Spaceで実現する [#nc2b7a29]
VBScriptで右詰め、左詰めをしたい場合は、Right, Left, Space関数を使用することにより実現できます。~
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事 [#ed0b7fe0]
-[[先頭・末尾のスペースを削除する方法・Trim, LTrim, RTrim>WSH/先頭・末尾のスペースを削除する方法・Trim, LTrim, RTrim]]
-[[指定位置から指定文字数分文字を取得する方法・Mid>WSH/指定位置から指定文字数分文字を取得する方法・Mid]]
* 右詰め、左詰めを実現する [#b3636672]
たとえば10文字のフィールドに右詰め、左詰めしたい場合は以下のようにすれば実現できます。
** 右詰めの場合 [#je672128]
右詰めの場合のサンプルスクリプトを以下に記します。
- 右詰めサンプルVBScript
#ref(right.zip)
- 右詰めサンプル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のサンプルスクリプトは以下の動作になります。
+ vにhello文字列を代入
+ 0-10までのゲージを表示
+ 幅10文字としているのでSpace関数を使って10文字分のスペースとhello文字列を格納するv変数を&で連結
+ 連結した文字列をRight関数で右から10文字取得し表示する
** 左詰めの場合 [#ka49e31b]
左詰めの場合のサンプルスクリプトを以下に記します。
- 左詰めサンプルVBScript
#ref(left.zip)
- 左詰めサンプル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のサンプルスクリプトは以下の動作になります。
+ vにhello文字列を代入
+ 0-10までのゲージを表示
+ 幅10文字としているのでSpace関数を使って10文字分のスペースとhello文字列を格納するv変数を&で連結
+ 連結した文字列をLeft関数で左から10文字取得し表示する
+ 左詰めで開きスペースには半角スペースを設定しているため、動作画面上では半角スペースが表示されているのかわからないので、最後に!を表示しています。
* 左詰め、右詰め関数を作成してみた [#b0c4826e]
上記に記した方式の関数を作ってみました。~
以下にVBScriptのサンプルコードを記します。
** 左詰め・右詰め関数サンプルコード [#t9c29516]
#ref(align.zip)
''ファイル名: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)
** 左詰め・右詰め関数サンプルコード実行結果 [#r441eaf2]
C:\wsh>cscript /nologo align.vbs
01234567890123456789
left END
right
以上、Left, Right, Spaceの3関数を利用してVBScriptで右詰め、左詰めをする方法を紹介しました。
#htmlinsertpcsp(win-btm.html,win-sp.html)