文字列操作

文字の長さを取得する(len)

文字の切り取り

文字が含まれるかを調べる

文字のバイト数をカウントする

全角を半角に、半角を全角に変換する

小文字を大文字に、大文字を小文字に変換する

ひらがなをカタカナに、カタカナをひらがなに変換する

文字列の中にある、対象の文字の数を数える

 

 

数値操作

数値であるかのチェック

文字から数値に変換する(clng)

数値から文字に変換する(cstr)

四捨五入、切り上げ、切り捨て

絶対値を取得する(abs)

余りを取得する(mod)

前0埋め、後ろ0埋め

 

 

日付・時間操作

文字を日付に変換する

日付であるかのチェック(IsDate)

時間を加算する

日付を加算する

曜日を取得する

西暦から和暦へ変換する

 

 

配列操作

配列を宣言する

配列の要素数を取得する

配列をループする

 

 

ファイル・フォルダ操作

ファイル名を取得する

ファイル名を変更する

ファイルの存在チェック

ファイルをコピーする

ファイルを移動する

フルパスからファイル名を取得する

空のテキストファイルを作成する

テキストファイルを読み込み配列に格納する

フォルダを作成する

フォルダの存在チェック

フォルダ内のファイル一覧を取得する

フルパスからフォルダパスを取得する

ファイルの作成日時、更新日時を取得する

エクスプローラーでフォルダを開く

 

 

システム情報、その他

ファイルの更新日時を変更する

マイドキュメントのパスを取得する

デスクトップのパスを取得する

ユーザー名を取得する

コンピュータ名を取得する

エクスプローラーでフォルダを開く

バッチファイル(.bat)を実行する

 

ファイルの作成日時、更新日時を取得する

VBScriptで、ファイルの作成日時、更新日時を取得する方法です。

'作成日時を取得する
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetFile("ファイルパス").DateCreated

'実行例
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetFile("C:\test\test.txt").DateCreated
'結果:2022/09/17 23:36:04


'更新日時を取得する
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetFile("ファイルパス").DateLastModified

'実行例
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetFile("C:\test\test.txt").DateLastModified
'結果:2022/09/25 21:26:02

余りを取得する

VBScriptで、余りを取得するには「mod」を使用します。

'余りを取得する
数 mod 割る数

'実行例
WScript.Echo 7 mod 1    '結果:0(7÷1の余り)
WScript.Echo 7 mod 2    '結果:1(7÷2の余り)
WScript.Echo 7 mod 3    '結果:1(7÷3の余り)
WScript.Echo 7 mod 4    '結果:3(7÷4の余り)
WScript.Echo 7 mod 5    '結果:2(7÷5の余り)
WScript.Echo 7 mod 6    '結果:1(7÷6の余り)

絶対値を取得する

VBScriptで、絶対値を取得するには「abs」を使用します。

'絶対値を取得する
abs(数値)

'実行例
WScript.Echo abs(123)      '結果:123
WScript.Echo abs(-123)     '結果:123
WScript.Echo abs(123.45)   '結果:123.45
WScript.Echo abs(-123.45)  '結果:123.45

四捨五入

VBScriptで、四捨五入をするには「round」を使用します。

'四捨五入する
round( 四捨五入する数値 , 小数点何桁にするか)

'実行例
WScript.Echo round(12345.6789 , 0)   '結果:123456
WScript.Echo round(12345.6789 , 1)   '結果:12345.7
WScript.Echo round(12345.6789 , 2)   '結果:12345.68
WScript.Echo round(12345.6789 , 3)   '結果:12345.679

 

 

切り上げ

VBScriptで、切り上げをするには例のように、四捨五入したい桁に0.5や0.05を足して、四捨五入することでできるようになります。

'切り上げをする
round(切り上げする数値 + 調整値 , 何桁で切り上げするか - 1 )
'※調整値:0.5 , 0.05 , 0.005(切り上げする桁による)

'実行例
'小数点第1位切り上げ
WScript.Echo round(12345.1234 + 0.5 , 0)      '結果:123456

'小数点第2位切り上げ
WScript.Echo round(12345.1234 + 0.05 , 1)     '結果:12345.2

'小数点第3位切り上げ
WScript.Echo round(12345.1234 + 0.005 , 2)    '結果:12345.13

'小数点第4位切り上げ
WScript.Echo round(12345.1234 + 0.0005 , 3)   '結果:12345.124

 

 

切り捨て

VBScriptで、切り捨てをするには次のようにします。

'切り捨てする
Fix(切り捨てする数値 / 10 ^ 何桁切り捨てするか) * 10 ^ 何桁切り捨てするか

'実行例
'小数点第1位切り捨て
WScript.Echo Fix(12345.6789 / 10 ^ 0) * 10 ^ 0     '結果:12345

'小数点第2位切り捨て
WScript.Echo Fix(12345.6789 / 10 ^ -1) * 10 ^ -1   '結果:12345.6

'小数点第3位切り捨て
WScript.Echo Fix(12345.6789 / 10 ^ -2) * 10 ^ -2   '結果:12345.67

'小数点第4位切り捨て
WScript.Echo Fix(12345.6789 / 10 ^ -3) * 10 ^ -3   '結果:12345.678

数値から文字に変換する

VBScriptで、数値から文字に変換するには「cstr」を使用します。

'数値から文字に変換する
cstr(数値)

'実行例
WScript.Echo cstr(123)    ' 123
WScript.Echo cstr(12345)  ' 12345

文字から数値に変換する

VBScriptで、文字から数値に変換するには「clng」を使用します。

'文字を数値に変換する
clng("文字列")

'実行例
WScript.Echo clng("123")     ' 123
WScript.Echo clng("0456")    ' 456
WScript.Echo clng("")        ' 変換できないためエラー発生
WScript.Echo clng("aa")      ' 変換できないためエラー発生

 

 

数値に変換するにはcintもありますが、こちらは数値の範囲制限が狭く(-32,768 ~ 32,767)あまり実用的ではありません。そのためclng側を使っておいた方が無難です。

※数値でないものを変換しようとするとエラーになるため、それを防ぐには事前の値チェックをする方法があります。数値であるかのチェックはこちらを参考にして下さい。

 

数値であるかのチェック

VBScriptで、ある文字が数値であるか(数値に変換できるか)のチェックができる関数です。

引数 target:チェックする文字、数値

結果 数値である:True、数値でない:False

Function IsNumeric(target)
On Error Resume Next

	'空である時はFalseで返す
	if target = "" then
		IsNumeric = false
		exit function
	end if

	'数値に変換
	dim temp
	temp = cint(target)

	'エラーがあるかで分岐
	If Err.Number <> 0  Then
        	'数値でない時
		IsNumeric = false
	else
        	'数値の時
		IsNumeric = true
	end if

On Error Goto 0
End Function

 

 

実行するとこうなります

'実行例
msgbox IsNumeric(123)        '結果:True
msgbox IsNumeric("012345")   '結果:True
msgbox IsNumeric("abc")      '結果:False
msgbox IsNumeric("")         '結果:False

文字列の中にある、対象の文字の数を数える

VBScriptで、文字列の中にある、対象の文字の数を数える方法です。

例えばJapaneseにある「a」の数が、2つあると取得することができます。

'構文
UBound(Split("この文字の中から探す", "この文字を探す"))

'実行例
msgbox UBound(Split("japanese", "a"))    '結果:2
msgbox UBound(Split("japanese", "k"))    '結果:0
msgbox UBound(Split("commitment", "m"))  '結果:3
msgbox UBound(Split("dismiss", "s"))     '結果:3

前0埋め

VBScriptで、前0埋めをする方法です。

'前0埋め5桁
right(合わせる桁の文だけ"0"をつける & Cstr(数値) , 何桁に合わせるか)

'前0埋め5桁
right("00000" & Cstr(数値) , 5)

'前0埋め8桁
right("00000000" & Cstr(数値) , 8)

'前0埋め10桁
right("0000000000" & Cstr(数値) , 10)


'実行例 msgboxは確認用
msgbox right("00000" & Cstr(12),5)           ' 結果:"00012"
msgbox right("00000" & Cstr(1234),5)         ' 結果:"01234"
msgbox right("00000000" & Cstr(1234),8)      ' 結果:"00001234"
msgbox right("0000000000" & Cstr(1234),10)   ' 結果:"0000001234"

 

 

後ろ0埋め

VBScriptで、後ろ0埋めをする方法です。

'後ろ0埋め5桁
left(Cstr(数値) & 合わせる桁の文だけ"0"をつける , 何桁に合わせるか)

'後ろ0埋め5桁
left(Cstr(数値) & "00000", 5)

'後ろ0埋め8桁
left(Cstr(数値) & "00000000", 8)

'後ろ0埋め10桁
left(Cstr(数値) & "0000000000", 10)


'実行例 msgboxは確認用
msgbox left(Cstr(12) & "00000",5)           ' 結果:"12000"
msgbox left(Cstr(1234) & "00000",5)         ' 結果:"12340"
msgbox left(Cstr(1234) & "00000000",8)      ' 結果:"12340000"
msgbox left(Cstr(1234) & "0000000000",10)   ' 結果:"1234000000"