#author("2020-05-10T10:40:35+09:00;2020-05-10T10:38:00+09:00","","")
#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~
''ファイル名:right.zip''
''ファイル名: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~
''ファイル名:left.zip''
''ファイル名: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]
''ファイル名: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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS