Abs(number)
必須の number 引数は、任意の有効な 数式です。
MsgBox Abs(50.2)
MsgBox Abs(-50.2)
Array(arglist)
必須の arglist 引数は、Variant に含まれている配列の要素に割り当てられる値のコンマ区切りのリストです。 引数を指定しない場合は長さ 0 の配列が作成されます
Dim A As Variant, B As Long, i As Long
A = Array(10, 20, 30)
B = A(2)
ReDim Preserve A(4)
A(4) = 40
For i = LBound(A) To UBound(A)
MsgBox "A(" & i & ") = " & A(i)
Next i
Asc(string)
必須の string 引数は、任意の有効な 文字列式です string に文字が含まれていない場合、実行時エラーが発生します
MsgBox Asc("A")
MsgBox Asc("a")
MsgBox Asc("Windows")
Asc(string)
必須の string 引数は、任意の有効な 文字列式です。 string に文字が含まれていない場合、実行時エラーが発生します
MsgBox AscB("A")
MsgBox AscB("a")
MsgBox AscB("Windows")
AscW(string)
必須の string 引数は、任意の有効な 文字列式です。 string に文字が含まれていない場合、実行時エラーが発生します
MsgBox AscW("A")
MsgBox AscW("a")
MsgBox AscW("Windows")
Atn(number)
必須の number 引数は、Double または任意の有効な 数値式です
MsgBox 4 * Atn(1) ' 円周率の値を計算します
CallByName (object, procname, calltype, [args()]_)
CallByName 関数は、実行時に文字列名を使用してプロパティを取得または設定するか、メソッドを呼び出すために使用されます
Private Sub UserForm_Click()
CallByName Me.TextBox1, "MousePointer", VbLet, vbCrosshair
result = CallByName(Me.TextBox1, "MousePointer", VbGet)
CallByName Me.TextBox1, "Move", VbMethod, 30, 30
End Sub
CBool(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 任意の有効な 文字列式 または数式
Dim A, B
A = 5: B = 5
MsgBox CBool(A = B)
A = 0
MsgBox CBool(A)
CByte(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 0 から 255
Dim DoubleValue
DoubleValue = 123.4567
MsgBox CByte(DoubleValue)
CCur(expression)
必須の expression 引数は、任意の文字列式または数値式です
通貨変数 は、64 ビット (8 バイト) の数値として整数形式で格納され、10,000 で拡大縮小され、小数点の左側に 15 桁、右側に 4 桁の固定小数点番号が与されます
Dim DoubleValue, CurrValue
DoubleValue = 543.214588
MsgBox DoubleValue & "," & TypeName(DoubleValue)
CurrValue = CCur(DoubleValue)
MsgBox CurrValue & "," & TypeName(CurrValue)
CDate(expression)
必須の expression 引数は、任意の文字列式または数値式です(任意の有効な日付式)
Dim DateStr As String, DateVal, TimeStr As String, TimeVal
DateStr = "January 20, 2022"
DateVal = CDate(DateStr)
TimeStr = "5:30:40 PM"
TimeVal = CDate(TimeStr)
MsgBox DateVal & "_" & TimeVal
MsgBox TypeName(DateVal) & "," & TypeName(TimeVal)
CDbl(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 負の値の場合は -1.79769313486231E308 ~ -4.94065645841247E-324、正の値の場合は 4.94065645841247E-324 ~ 1.79769313486232E308
Dim CurrVal, DoubleVal
TestVal = 123.45678 * 1.2345678
MsgBox TestVal
CurrVal = CCur(TestVal)
MsgBox CurrVal
DoubleVal = CDbl(TestVal)
MsgBox DoubleVal
CDec(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = ゼロスケールの値 (小数部分がない値) の場合は 79,228,162,514,264,337,593,543,950,335 です。 小数点以下が 28 桁の値の場合は 7.9228162514264337593543950335 です。 0 以外で可能な最小値は 0.0000000000000000000000000001 です
Dim CDecVal, CurrVal
CurrVal = 10000000.05678
CDecVal = CDec(CurrVal)
MsgBox CDecVal & "," & TypeName(CDecVal)
Choose(index, choice-1, [ choice-2, ..., [ choice-n ]] )
Choose は、index の値に基づいて選択肢の一覧から値を返します。 index が 1 の場合、Choose は一覧の 1 つ目の選択肢を返します。index が 2 の場合は 2 つ目というようになります
index が 1 以下または一覧にある選択肢の数を超える場合、Choose 関数は Null を返します
index が整数ではない場合、最も近い整数に丸めてから評価されます
Dim NoVal As Integer, ReVal As String
NoVal = 2
ReVal = Choose(NoVal, "1番", "2番", "3番", "4番")
MsgBox ReVal
Chr(charcode)
必須の charcode 引数は、文字を識別する Long です
MsgBox Chr(65) ' Returns A.
MsgBox Chr(97) ' Returns a.
MsgBox Chr(62) ' Returns >.
MsgBox Chr(37) ' Returns %.
ChrB(charcode)
ChrB 関数は、String に含まれるバイト データの場合に使用します。 ChrB は、1 バイトまたは 2 バイトの文字ではなく、常に 1 バイトを返します
ChrW(charcode)
ChrW 関数は、Unicode 文字を含む String を返します。ただし、Unicode がサポートされていないプラットフォームでは、Chr 関数と同じ動作になります
CInt(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = -32,768 から 32,767。小数点以下は丸められます
Dim DoubleVal, IntVal
DoubleVal = 2345.5678
MsgBox DoubleVal
IntVal = CInt(DoubleVal)
MsgBox IntVal
CLng(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = -2,147,483,648 から 2,147,483,647。小数点以下は丸められます
Dim Val1, Val2
Val1 = 25427.45: Val2 = 25427.55
MsgBox CLng(Val1)
MsgBox CLng(Val2)
CLngLng(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807。小数点以下は丸められます (64 ビット プラットフォームのみで有効)
CLngPtr(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 32 ビットのシステムでは -2,147,483,648 ~ 2,147,483,647、64 ビットのシステムでは -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807。32 ビットと 64 ビットのどちらのシステムでも、小数部分は丸められます
Cos(number)
必須の number 引数は、Double または角度 (ラジアン) を示す任意の有効な 数値式です
Cos 関数は、角度を取得し、直角三角形の 2 辺の比を返します。 2 辺の比は、指定した角に隣接する側の辺の長さを、斜辺の長さで割った値です。結果は、-1 から 1 の範囲内になります
Dim AngleVal
AngleVal = 1.3
MsgBox (1 / Cos(AngleVal))
CreateObject(class, [ servername ])
CreateObject は、オブジェクトの現在のインスタンスがない場合に使用します。 オブジェクトのインスタンスが既に実行されている場合は、新しいインスタンスが開始され、指定した型のオブジェクトが作成されます。 現在のインスタンスを使用する、またはアプリケーションを起動してファイルを読み込ませるには、GetObject 関数を使用します
Dim xlApp As Object ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
' Closes the application using the Quit method
xlApp.Quit
CSng(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 負の値の場合は -3.402823E38 ~ -1.401298E-45、正の値の場合は 1.401298E-45 ~ 3.402823E38
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 contains 75.34216.
CStr(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = CStr の戻り値は、expression 引数に依存します
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble) ' MyString contains "437.324".
CurDir [ (drive) ]
省略可能な drive 引数は、既存のドライブを指定する 文字列式です。 drive を指定しない場合、または drive に長さ 0 の文字列 ("") を指定した場合、CurDir は、現在のドライブのパスを返します。 Macintosh では、CurDir は指定された drive を無視し、単に現在のドライブのパスを返します
' Assume current path on C drive is "C:\WINDOWS\SYSTEM" (on Microsoft Windows).
' Assume current path on D drive is "D:\EXCEL".
' Assume C is the current drive.
Dim MyPath
MyPath = CurDir ' Returns "C:\WINDOWS\SYSTEM".
MyPath = CurDir("C") ' Returns "C:\WINDOWS\SYSTEM".
MyPath = CurDir("D") ' Returns "D:\EXCEL".
CVar(expression)
必須の expression 引数は、任意の文字列式または数値式です
expression = 数値の場合は Double と同じ範囲です。 数値以外の場合は String と同じ範囲です
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & 000) ' MyVar contains the string
' 4534000.
CVDate(expression)
日付リテラルや日付と評価できる文字列式、数式をバリアント型(内部処理形式が Date の Variant)に変換し、その値を返します。 VB6 より前の VB ではデータ型に日付型が存在せず、文字列などを日付型に変換する場合はこの関数を使用し、値の格納先にはバリアント型変数を用いていました。 そのため、VB6 でも下位互換としてこの関数が残されていますが、VB6 ではデータ型として日付型が用意されているので、同じ動作で日付型を返す CDate関数 を使用することが推奨されます
Dim MyDate As Variant
MyDate = CVDate("2011/01/23") ' Returns「2011/01/23」
MyDate = CVDate(1) ' Returns「1899/12/31」
MyDate = CVDate(40858) ' Returns「2011/11/11」
CVErr(errornumber)
必須の errornumber 引数は、任意の有効なエラー番号です
' Call CalculateDouble with an error-producing argument.
Sub Test()
Debug.Print CalculateDouble("345.45robert")
End Sub
' Define CalculateDouble Function procedure.
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Return result.
Else
CalculateDouble = CVErr(2001) ' Return a user-defined error
End If ' number.
End Function