関数
|
Asc / AscW |
文字に対応する文字コードを取得します
Asc( Char ) ※ 1バイト文字はASCIIコードの値
AscW( Char ) ※ Unicodeの値
1. Char
[必須]文字を指定します(文字列は先頭の1桁目で取得)
※ 結果は10進数の整数型 (Integer) で返されます
|
MsgBox(Asc("A")) '65
MsgBox(Asc("亜")) '-30561
MsgBox(AscW("亜")) '20124
|
Chr / ChrW |
文字コードに対応する文字を取得します
Chr( CharCode ) ※ 1バイト文字はASCIIコードの値
ChrW( CharCode ) ※ Unicodeの値
1. Char
[必須]文字コードを整数型 (Integer) で指定します
※ 結果は文字型 (Char) で返されます
|
MsgBox(Chr(65)) 'A
MsgBox(Chr(-30561)) '亜
MsgBox(ChrW(20124)) '亜
|
Ctype |
任意の有効な値を指定の型に変換した値を取得します
※ 文字列 ⇒ 任意の型、任意の型 ⇒ 文字列への変換
Ctype( expression, typename )
1. expression
[必須]任意の有効な値を指定します
2. typename
[必須]任意のデータ型、オブジェクト、構造体、クラス、またはインターフェイスの名前を指定します
※ 結果はTypenameで指定の型で返されます
|
MsgBox(CType("2010/10/01 22:10:00", Date)) '文字列を日付に変換
MsgBox(CType(Now, String)) '日付を文字列に変換
|
Filter |
文字列配列の要素の文字列を検索します
Filter( source, match, include, compare )
1. source
[必須]文字列の検索元の一次元配列を指定します
2. match
[必須]検索する文字列を指定します
3. include
[省略可能]検索する文字列を含むか(True)、含まないか(False)の条件を指定します
4. compare
[省略可能]文字列の比較をバイナリー(CompareMethod.Binary)か、
テキスト(CompareMethod.Text)で指定します
※ 結果は文字列 (String) の配列で返されます
|
Dim Ary() As String = {"ABCD", "abcd", "ABCDEF", "abcdef", "BCDE", "bcde"}
Dim result() As String
'
'abc が含まれる文字列のテキスト比較 ⇒ ABCD abcd ABCDEF abcdef
result = Filter(Ary, "abc", True, CompareMethod.Text)
For Each str As String In result
MsgBox(str)
Next
'
'abc が含まれる文字列のバイナリー比較 ⇒ abcd abcdef
result = Filter(Ary, "abc", True, CompareMethod.Binary)
'
'abc が含まれない文字列のテキスト比較 ⇒ BCDE bcde
result = Filter(Ary, "abc", False, CompareMethod.Text)
'
'abc が含まれない文字列のバイナリー比較 ⇒ bcde
result = Filter(Ary, "abc", False, CompareMethod.Binary)
|
Format |
指定の書式に設定された文字列を取得します
Format( expression, style )
1. expression
[必須]任意の有効な値を指定します( 0 〜 99 は 1930 〜 2029)
2. style
[省略可能]既定またはユーザー定義の書式を指定します
※ 結果は文字列型 (String) で返されます
|
'{ 0 } 数値の桁を数字またはゼロで表示
Format(0, "0") '0
Format(1234, "0") '1234
Format(1234, "000000") '001234
'
'{ # } 数値のある桁を数字で表示(数値がゼロは表示しない)
Format(0, "#") '表示しない
Format(1234, "#") '1234
'
'{ . } 小数点付きで表示(小数点以降は必要な桁数を書式指定)
Format(1234, "0.0") '1234.0
Format(0.1523, "#0.0") '0.2
Format(0.1423, "#,#") '.1
'
'{ , } カンマ付きで表示
Format(123, "0,0") '123
Format(1234, "#,#") '1,234
Format(0, "0,0") '00
Format(0, "#,#") '表示しない
Format(0, "#,#0") '0
'
'日付時刻の表示(※ [地域のオプション] の設定内容に依存)
Format(Now, "Long Date") 'yyyy年mm月dd日
Format(Now, "Short Date") 'yyyy/mm/dd
Format(Now, "Long Time") 'hh:mm:ss
Format(Now, "Short Time") 'hh:mm
'{ d } 先頭のゼロを付けない日を表示 Format(Now, "%d") '1
※ style(書式の指定)が1文字は先頭に % を付ける
'{ dd } 日が1桁は先頭にゼロを付けた日を表示 Format(Now, "dd") '01
'{ ddd } 曜日を短縮形で表示 Format(Now, "ddd") '日 or Sun
'{ dddd } 曜日を表示 Format(Now, "ddd") '日曜日 or Sunday
'{ M } 先頭のゼロを付けない月を表示 Format(Now, "%M") '1
'{ MM } 月が1桁は先頭にゼロを付けた月を表示 Format(Now, "MM") '01
'{ MMM } 月の名称を短縮形で表示 Format(Now, "ddd") '1 or Jan
'{ MMMM } 月の名称を表示 Format(Now, "ddd") '1月 or January
'{ y } 西暦年の下2桁で先頭がゼロは付けない年を表示 Format(Now, "%y") '1
'{ yy } 西暦年の下2桁で先頭のゼロは付けた年を表示 Format(Now, "yy") '01
'{ yyy } 西暦年の4桁年を表示 Format(Now, "yyyy") '2001
'{ yyyy } 西暦年の4桁年を表示 Format(Now, "yyyy") '2001
'{ gg } 時代/年号を示す文字列を表示 Format(Now, "gg") '西暦 or 平成
'{ h } 先頭のゼロを付けない時を12時間制で表示 Format(Now, "%h") '1
'{ hh } 時が1桁は先頭にゼロを付けた時を12時間制で表示 Format(Now, "hh") '01
'{ H } 先頭のゼロを付けない時を24時間制で表示 Format(Now, "%H") '1
'{ HH } 時が1桁は先頭にゼロを付けた時を24時間制で表示 Format(Now, "HH") '01
'{ m } 先頭のゼロを付けない分を表示 Format(Now, "%m") '1
'{ mm } 分が1桁は先頭にゼロを付けた分を表示 Format(Now, "mm") '01
'{ s } 先頭のゼロを付けない秒を表示 Format(Now, "%s") '1
'{ ss } 秒が1桁は先頭にゼロを付けた分を表示 Format(Now, "ss") '01
'{ f } 秒の小数部を表示(f は最大7桁まで指定可能) Format(Now, "ff") '12
'{ t } 12時間制の時刻で午前(A)、午後(P)を表示 Format(Now, "%t") 'A or P
'{ tt } 12時間制の時刻で午前(AM)、午後(PM)を表示 Format(Now, "tt") 'AM or PM
'{ z } 標準時との時差で先頭がゼロは付けない時を表示 Format(Now, "%z") '+9
'{ zz } 標準時との時差で先頭がゼロは付けた時を表示 Format(Now, "zz") '+09
'{ zzz } 標準時との時差を時分で表示 Format(Now, "zzz") '+9:00
|
FormatCurrency |
[地域のオプション]の通貨記号の書式に変換した文字列を取得します
FormatCurrency( Expression, NumDigitsAfterDecimal, IncludeLeadingDigit,
UseParensForNegativeNumbers, GroupDigits )
1. Expression
[必須]書式変換する通貨の値を指定します
2. NumDigitsAfterDecimal
[省略可能]小数点以下に表示する桁数を指定します(既定は -1 で表示しない)
3. IncludeLeadingDigit
[省略可能]小数点の左側のゼロを表示するかを指定します
(TriStateを参照 既定は TriState.UseDefault )
4. UseParensForNegativeNumbers
[省略可能]負の値をかっこで囲むかどうかを指定します
(TriStateを参照 既定は TriState.UseDefault )
5. GroupDigits
[省略可能]桁区切り記号を使用して数値を区切るかどうかを指定します
(TriStateを参照 既定は TriState.UseDefault )
TriState値 |
内容 |
TriState.True |
True |
TriState.False |
False |
TriState.UseDefault |
[地域のオプション] で指定の値 |
※ 結果は文字列式 (String) で返されます
|
MsgBox(FormatCurrency(-12345.6789, 2)) '-\12,345.68
MsgBox(FormatCurrency(-12345.6789, 2, True, True, True)) '(\12,345.68)
|
FormatDateTime |
日時の値を指定の書式に変換した文字列式を取得します
FormatDateTime( Expression, NamedFormat )
1. Expression
[必須]書式変換する日付を指定します
2. NamedFormat
[省略可能]日付を変換する書式を指定します(既定は DateFormat.GeneralDate )
DateFormat値 |
書式 |
DateFormat.GeneralDate |
日付部を短い形式で表示、時刻を長い形式で表示 |
DateFormat.LongDate |
[地域のオプション] で指定の長い形式で日付を表示 |
DateFormat.ShortDate |
[地域のオプション] で指定の短い形式で日付を表示 |
DateFormat.LongTime |
[地域のオプション] で指定の形式で時刻を表示 |
DateFormat.ShortTime |
24時間形式 (hh:mm) で時刻を表示 |
※ 結果は文字列式 (String) で返されます
|
MsgBox(FormatDateTime(Now)) '
MsgBox(FormatDateTime(Now), DateFormat.ShortDate) '短い形式
|
FormatNumber |
[地域のオプション]の数値の書式に変換した文字列を取得します
FormatNumber( Expression, NumDigitsAfterDecimal, IncludeLeadingDigit,
UseParensForNegativeNumbers, GroupDigits )
1. Expression
[必須]書式変換する数値を指定します
2. NumDigitsAfterDecimal
[省略可能]小数点以下に表示する桁数を指定します(既定は -1 で表示しない)
3. IncludeLeadingDigit
[省略可能]小数点の左側のゼロを表示するかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
4. UseParensForNegativeNumbers
[省略可能]負の値をかっこで囲むかどうかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
5. GroupDigits
[省略可能]桁区切り記号を使用して数値を区切るかどうかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
※ 結果は文字列式 (String) で返されます
|
MsgBox(FormatNumber(-12345.6789, 2)) '-12,345.68
MsgBox(FormatNumber(-12345.6789, 2, True, True, True)) '(12,345.68)
|
FormatPercent |
割合(100倍し%を付加)の書式に変換した文字列を取得します
FormatPercent( Expression, NumDigitsAfterDecimal, IncludeLeadingDigit,
UseParensForNegativeNumbers, GroupDigits )
1. Expression
[必須]書式変換する数値を指定します
2. NumDigitsAfterDecimal
[省略可能]小数点以下に表示する桁数を指定します(既定は -1 で表示しない)
3. IncludeLeadingDigit
[省略可能]小数点の左側のゼロを表示するかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
4. UseParensForNegativeNumbers
[省略可能]負の値をかっこで囲むかどうかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
5. GroupDigits
[省略可能]桁区切り記号を使用して数値を区切るかどうかを指定します
(FormatCurrencyのTriStateを参照 既定は TriState.UseDefault )
※ 結果は文字列式 (String) で返されます
|
MsgBox(FormatPercent(-1.23456789, 2)) '-123.46%
MsgBox(FormatPercent(-1.23456789, 2, True, True, True)) '(123.46%)
|
GetChar |
文字列の中から指定した位置にある文字を取得します
GetChar( string, index )
1. string
[必須]文字列を指定します
2. index
[必須]文字列より検索する文字の位置(インデックス)を指定します(位置は 1 から始まります)
※ 結果は文字 (Char) で返されます
|
MsgBox(GetChar("ABCDEFGH", 3)) 'C
|
InStr |
文字列の中から指定した文字列を検索し、最初に一致した開始位置を取得します
InStr( start, check, match, compare )
1. start
[省略可能]文字列の検索を開始する位置を指定します
(省略は先頭位置から検索、位置は 1 から始まります)
2. check
[必須]検索される文字列を指定します
3. match
[必須]検索する文字列を指定します
4. compare
[省略可能]文字列の比較をバイナリー(0:CompareMethod.Binary)か、
テキスト(1:CompareMethod.Text)で指定します
※ 結果は整数型 (Integer) で返されます
|
MsgBox(InStr("ABCDEFGH", "CDE")) '3
MsgBox(InStr("ABCDEFGH", "cde")) '0
MsgBox(InStr("ABCDEFGH", "cde", CompareMethod.Text)) '3
MsgBox(InStr(5, "ABCDEFGH", "CDE")) '0
|
InStrRev |
文字列の中から指定した文字列を後方から検索し、最初に一致した開始位置を取得します
InStrRev( check, match, start, compare )
1. check
[必須]検索される文字列を指定します
2. match
[必須]検索する文字列を指定します
3. start
[省略可能]文字列の検索を開始する位置を指定します
(省略は最後の文字位置から検索、先頭位置を 1 として指定します)
4. compare
[省略可能]文字列の比較をバイナリー(0:CompareMethod.Binary)か、
テキスト(1:CompareMethod.Text)で指定します
※ 結果は整数型 (Integer) で返されます
|
MsgBox(InStrRev("ABCDEFGH", "CDE")) '3
MsgBox(InStrRev("ABCDEFGH", "cde")) '0
MsgBox(InStrRev("ABCDEFGH", "cde", CompareMethod.Text)) '3
MsgBox(InStrRev(5, "ABCDEFGH", "CDE")) '3
|
Join |
配列の要素にある文字列を結合した文字列を取得します
Join( source, delimiter )
1. source
[必須]文字列の結合元の配列を指定します
2. delimiter
[省略可能]結合する文字列の区切り文字列を指定します(省略はスペースで区切ります)
※ 結果は文字列型 (String) で返されます
|
Dim Ary() As String = {"abc", "def", "ghi", "xyz"}
'
MsgBox(Join(Ary)) 'abc def ghi xyz
MsgBox(Join(Ary, " : ")) 'abc : def : ghi : xyz
MsgBox(Join(Ary, "")) 'abcdefghixyz
|
LCase |
大文字を小文字に変換した文字列(文字)を取得します
LCase( Value )
1. Value
[必須]小文字に変換する文字列(文字)を指定します
※ 結果は文字列型 (String)、文字型 (Char) で返されます
|
MsgBox(LCase("ABCDefgh")) 'abcdefgh
|
Left |
文字列の左端から指定した文字数分の文字列を取得します
Left( string, length )
1. string
[必須]文字列を指定します
2. length
[必須]文字列より取得する文字数を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(Left("ABCDEFGH", 5)) 'ABCDE
|
Len |
文字列の文字数または変数の格納に必要なバイト数を取得します
Len( expression )
1. expression
[必須]文字列または変数を指定します
※ 結果は整数型 (Integer) で返されます
|
MsgBox(Len("ABCDEFGH")) '8
|
LSet |
文字列を指定した文字数分で左揃えの文字列を取得します
LSet( source, length )
1. source
[必須]文字列を指定します
2. length
[必須]文字列より取得する文字数を指定します(文字列より大きい文字数は空白で埋めます)
※ 結果は文字列型 (String) で返されます
|
MsgBox(LSet("ABCDEFGH", 5)) 'ABCDE
MsgBox(LSet("ABCD", 5)) '"ABCD " 最後の1文字にスペース
|
Mid |
文字列の指定した位置から文字数分の文字列を取得します
Mid( string, start, length )
1. string
[必須]文字列を指定します
2. start
[必須]文字列の取得を開始する位置を指定します(開始位置は 1 から始めます)
3. length
[省略可能]文字列より取得する文字数を指定します(省略は開始位置以降の文字すべてを取得します)
※ 結果は文字列型 (String) で返されます
|
MsgBox(Mid("ABCDEFGH", 2, 3)) 'BCD
MsgBox(Mid("ABCDEFGH", 2)) 'BCDEFGH
|
Replace |
文字列から指定した置換対象の文字列を検索し指定の置換文字列で置換します
Replace( sxpression, find, replacement, start, count, compare )
1. sxpression
[必須]文字列を指定します
2. find
[必須]文字列より検索する置換対象の文字列を指定します
3. replacement
[必須]該当の置換対象の文字列を置換する文字列を指定します
4. start
[省略可能]文字列より検索を開始する位置を指定します
(省略は先頭位置から検索、位置は 1 から始まります)
5. count
[省略可能]文字列を置換する回数を指定します(省略は -1 ですべてを置換します)
5. compare
[省略可能]文字列の比較をバイナリー(0:CompareMethod.Binary)か、
テキスト(1:CompareMethod.Text)で指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(Replace("ABCDABCD", "BC", "**")) 'A**DA**D
MsgBox(Replace("ABCDABCD", "BC", "**", 3)) 'CDA**D
MsgBox(Replace("ABCDABCD", "BC", "**", , 1)) 'A**DABCD
MsgBox(Replace("ABCDABCD", "bc", "**", , , CompareMethod.Text)) 'A**DA**D
|
Right |
文字列の右端から指定した文字数分の文字列を取得します
Right( string, length )
1. string
[必須]文字列を指定します
2. length
[必須]文字列より取得する文字数を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(Right("ABCDEFGH", 5)) 'DEFGH
|
RSet |
文字列を指定した文字数分で右揃えの文字列を取得します
RSet( source, length )
1. source
[必須]文字列を指定します
2. length
[必須]文字列より取得する文字数を指定します(文字列より大きい文字数は先頭から空白で埋めます)
※ 結果は文字列型 (String) で返されます
|
MsgBox(RSet("ABCDEFGH", 5)) 'DEFGH
MsgBox(RSet("ABCD", 5)) '" ABCD" 先頭の1文字にスペース
|
TrimLTrimRTrim |
Trim は先頭部と後方部の空白を除いた文字列を取得します
LTrim は先頭部の空白を除いた文字列を取得します
RTrim は後方部の空白を除いた文字列を取得します
Trim( string )
LTrim( string )
RTrim( string )
1. string
[必須]空白(スペース)を除く文字列を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(Trim(" ABC ")) '"ABC"
MsgBox(LTrim(" ABC ")) '"ABC " 後方部の空白は除かない
MsgBox(RTrim(" ABC ")) '" ABC" 先頭部の空白は除かない
|
Space |
指定した数のスペースから成る文字列を取得します
Space( number )
1. number
[必須]スペースの数を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox("ABC" & Space(2) & "DEF") 'ABC DEF
|
Split |
文字列の中から指定した区切り文字列で分割した1次元配列を取得します
Split( sxpression, delimiter, limit, start, count, compare )
1. sxpression
[必須]文字列を指定します
2. delimiter
[省略可能]文字列を分割する区切り文字列を指定します(省略はスペースで区切る)
3. limit
[省略可能]文字列を区切る最大の回数を指定します
4. compare
[省略可能]文字列の比較をバイナリー(0:CompareMethod.Binary)か、
テキスト(1:CompareMethod.Text)で指定します
※ 結果は文字列型 (String) で返されます
|
Dim Ary() As String
'
Ary = Split("AB CD EF GH IJ") '{"AB", "CD", "EF", "GH", "IJ"}
Ary = Split("AB;CD;EF;GH;IJ", ";") '{"AB", "CD", "EF", "GH", "IJ"}
Ary = Split("AB;CD;EF;GH;IJ", ";", 3) '{"AB", "CD", "EF;GH;IJ"}
Ary = Split("AB;CD;;EF;;GH", ";") '{"AB", "CD", "", "EF", "", "GH"}
Ary = Split("ABCABCABC", "c", , CompareMethod.Text) '{"AB", "AB", "AB", ""}
|
Str |
指定した数値を表す文字列を取得します
Str( number )
1. number
[必須]数値を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(Str(212)) '212
MsgBox(Str(-212)) '-212
MsgBox(Str(2.12)) '2.12
|
StrComp |
2つの文字列をコードの大小で比較した結果を取得します
StrComp( string1, string2, compare )
1. string1
[必須]文字列を指定します
2. string2
[必須]文字列を指定します
3. compare
[省略可能]文字列の比較をバイナリー(0:CompareMethod.Binary)か、
テキスト(1:CompareMethod.Text)で指定します
※ 結果は文字列型 (Integer) で返されます
-1 |
string1 が string2 より小さいとき |
0 |
string1 と string2 が同じとき |
1 |
string1 が string2 より大きいとき |
|
MsgBox(StrComp("abc", "abd")) '-1
MsgBox(StrComp("abc", "abc")) '0
MsgBox(StrComp("abc", "abb")) '1
MsgBox(StrComp("abc", "ABC", CompareMethod.Text)) '0
|
StrConv |
指定した変換の方法で文字列を変換します
StrConv( string, conversion, localeID )
1. string
[必須]変換される文字列を指定します
2. conversion
[必須]変換の方法を指定します
VbStrConv値 |
変換の方法 |
VbStrConv.UpperCase |
文字列を大文字に変換 |
VbStrConv.LowerCase |
文字列を小文字に変換 |
VbStrConv.ProperCase |
文字列の各単語の先頭の文字を大文字に変換 |
VbStrConv.Wide |
文字列内の半角文字を全角文字に変換 |
VbStrConv.Narrow |
文字列内の全角文字を半角文字に変換 |
VbStrConv.Katakana |
文字列内のひらがなをカタカナに変換 |
VbStrConv.Hiragana |
文字列内のカタカナをひらがなに変換 |
VbStrConv.SimplifiedChinese |
中国語の繁体字を簡体字に変換 |
VbStrConv.TraditionalChinese |
中国語の簡体字を繁体字に変換 |
3. localeID
[省略可能]ロケールIDを指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(StrConv("abc", VbStrConv.UpperCase)) 'ABC
MsgBox(StrConv("i have a pc", VbStrConv.ProperCase)) 'I Have A Pc
|
StrDup |
指定した文字を指定した回数だけ繰り返している文字列を取得します
StrDup( number, character )
1. number
[必須]文字を繰り返す回数を指定します
2. character
[必須]繰り返す文字を指定します
※ 結果は文字列型 (String) またはオブジェクト型 (Object) で返されます
|
MsgBox(StrDup(3, "A")) 'AAA
MsgBox(StrDup(3, "AB")) 'AAA
|
StrReverse |
大文字の並び順を逆にした文字列を取得します
StrReverse( expression )
1. expression
[必須]並び順を逆にする文字列を指定します
※ 結果は文字列型 (String) で返されます
|
MsgBox(StrReverse("ABCDEFGH")) 'HGFEDCBA
|
UCase |
小文字を大文字に変換した文字列(文字)を取得します
UCase( Value )
1. Value
[必須]大文字に変換する文字列(文字)を指定します
※ 結果は文字列型 (String)、文字型 (Char) で返されます
|
MsgBox(UCase("ABCDefgh")) 'ABCDEFGH
|
Val |
指定した文字列に含まれる適切な数値を取得します
Val( expression )
1. expression
[必須]大文字に変換する文字列(文字)を指定します
※ 結果は整数型 (Integer)、倍精度浮動小数点型 (Double) で返されます
|
MsgBox(Val("123,456.78")) '123
MsgBox(Val("- 12 . 345 ab 6. 78")) '-12.3456
|