GetAllSettings(appname, section)
GetAllSettings では、appname または section のいずれかが存在しない場合、初期化されていない Variant を返します
' Variant to hold 2-dimensional array returned by GetAllSettings
' Integer to hold counter.
Dim MySettings As Variant, intSettings As Integer
' registry にいくつかの設定を配置します
SaveSetting appname:="MyApp", section:="Startup", _
key:="Top", setting:=75
SaveSetting "MyApp", "Startup", "Left", 50
' 設定を取得します
MySettings = GetAllSettings(appname:="MyApp", section:="Startup")
For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)
Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1)
Next intSettings
' アプリケーションのエントリを削除します
DeleteSetting "MyApp", "Startup"
GetAttr(pathname)
必須の pathname 引数は、ファイル名を指定する 文字列式です。 pathname には、ディレクトリまたはフォルダー、およびドライブを含めることができます
Dim MyAttr
' Assume file TESTFILE has hidden attribute set.
MyAttr = GetAttr("TESTFILE") ' Returns 2.
' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And vbHidden
' Assume file TESTFILE has hidden and read-only attributes set.
MyAttr = GetAttr("TESTFILE") ' Returns 3.
' Returns nonzero if hidden attribute is set on TESTFILE.
Debug.Print MyAttr And (vbHidden + vbReadOnly)
' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("MYDIR") ' Returns 16.
GetObject([ pathname ], [ class ])
GetObject 関数は、ファイルから ActiveX オブジェクトにアクセスして、そのオブジェクトを オブジェクト変数に割り当てるために使用されます。 GetObject で返されたオブジェクトをオブジェクト変数に割り当てるには、Set ステートメントを使用します
Dim MyXL As Object
Set MyXL = Getobject("pathname", "Excel.Application")
GetSetting(appname, section, key, [ default ])
GetSetting 引数で指定された項目が存在しない場合、GetSetting は既定値の値を返 します
' Variant to hold 2-dimensional array returned by GetSetting.
Dim MySettings As Variant
' Place some settings in the registry.
SaveSetting "MyApp","Startup", "Top", 75
SaveSetting "MyApp","Startup", "Left", 50
Debug.Print GetSetting(appname := "MyApp", section := "Startup", _
key := "Left", default := "25")
DeleteSetting "MyApp", "Startup"
Hex(number)
必須の number 引数は、任意の有効な 数値式または 文字列式です
number が整数ではない場合、最も近い整数に丸めてから評価されます
Dim MyHex
MyHex = Hex(5) ' Returns 5.
MyHex = Hex(10) ' Returns A.
MyHex = Hex(459) ' Returns 1CB.
Hour(time)
必須の time 引数は、時間を表すことができる、任意の Variant、数式、文字列式、または任意の組み合わせです。 time に Null が含まれている場合は Null が返されます
Dim MyTime, MyHour
MyTime = #4:35:17 PM#
MyHour = Hour(MyTime)
MsgBox MyTime & "_ _" & MyHour
IIf(expr, truepart, falsepart)
expr, 評価する式。truepart, expr が True の場合 に返される値 または 式。falsepart, expr が False の場合に返される値または式。
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
IMEStatus
vbIMEModeNoControl 0 IME を制御しません(既定値)。
vbIMEModeOn 1 IME をオンにします。
vbIMEModeOff 2 IME をオフにします。
vbIMEModeDisable 3 IME は無効になっています。
vbIMEModeHiragana 4 全角ひらがなモードです。
vbIMEModeKatakana 5 全角カタカナ モードです。
vbIMEModeKatakanaHalf 6 半角カタカナ モードです。
vbIMEModeAlphaFull 7 全角英数字モードです。
vbIMEModeAlpha 8 半角英数字モードです。
MsgBox IMEStatus
Input(number, [ # ]filenumber)
number 必須 取得する文字数を指定する有効な数式。
filenumber 必須 任意の有効なファイル番号。
Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file.
Do While Not EOF(1) ' Loop until end of file.
MyChar = Input(1, #1) ' Get one character.
Debug.Print MyChar ' Print to the Immediate window.
Loop
Close #1 ' Close file.
InputBox(prompt, [ title ], [ default ], [ xpos ], [ ypos ], [ helpfile, context ])
テキスト ボックスには 255 文字しか使用できません。 戻り値の文字列は 254 文字に切り詰まれます
Dim Message, Title, Default, MyValue
Message = "Enter a value between 1 and 3" ' Set prompt.
Title = "InputBox Demo" ' Set title.
Default = "1" ' Set default.
' Display message, title, and default value.
MyValue = InputBox(Message, Title, Default)
' Use Helpfile and context. The Help button is added automatically.
MyValue = InputBox(Message, Title, , , , "DEMO.HLP", 10)
' Display dialog box at position 100, 100.
MyValue = InputBox(Message, Title, Default, 100, 100)
InStr([ start ], string1, string2, [ compare ])
InStrB 関数は、文字列に含まれるバイト データと共に使用されます。 InStrB は、ある文字列が別の文字列内で最初に発生する文字位置を返すのではなく、バイト位置を返します
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.
InstrRev(stringcheck, stringmatch, [ start, [ compare ]])
stringcheck 必須です。 検索元の文字列式です。
stringmatch 必須です。 検索する文字列式です。
start 省略可能。 それぞれの検索の開始位置を設定する数値式です。 省略した場合、最後の文字位置から検索が開始されることを意味する -1 が使用されます。
compare 省略可能。 サブ文字列を評価するときに使用する比較の種類を示す数値です。 省略した場合、バイナリ比較が行われます。
MsgBox InStrRev("abcabc", "a")
MsgBox InStrRev("abcabc", "c")
MsgBox InStrRev("abcabc", "bc")
MsgBox InStrRev("abcabc", "a", 3)
Int(number)
必要な 数値引数 は、 Double または任意 の有効な数値式です。 number に Null が含まれている場合は Null が返されます
Int および Fix のどちらを使用した場合も、number の小数部分が取り除かれて、その結果得られる整数値が返されます。
Int と Fix の違いは、数値が負の場合、Int は数値以下の最初の負の整数を返し、Fix は数値以上の最初の負の整数を返します。 たとえば、-8.4 は Int では -9 に変換されますが、 Fix では -8 に変換されます
Dim MyNumber
MyNumber = Int(99.8) ' Returns 99.
MyNumber = Fix(99.2) ' Returns 99.
MyNumber = Int(-99.8) ' Returns -100.
MyNumber = Fix(-99.8) ' Returns -99.
MyNumber = Int(-99.2) ' Returns -100.
MyNumber = Fix(-99.2) ' Returns -99.
IPmt(rate, per, nper, pv, [ fv, [ type ]])
rate 必須です。 投資の利率を示す倍精度浮動小数点型 ( Double ) の値を指定します。
per 必須。 1 ~ nper の範囲の支払回数を指定する Double です。
nper 必須。 投資期間全体での支払回数の合計を指定する Double です。
pv 必須。 将来行われる一連の支払いまたは受領の現在価値 (現時点での価値) を指定する Double です。
fv 省略可能。 バリアント型 (Variant) 将来価値、つまり、最後の支払い後の収支の希望額を指定します。
type 省略可能。 支払期日を示すバリアント型 ( Variant ) の値を指定します。
Dim FVal, Fmt, PVal, APR, TotPmts, PayType, Period, IntPmt, TotInt, Msg
Const ENDPERIOD = 0, BEGINPERIOD = 1 ' When payments are made.
FVal = 0 ' Usually 0 for a loan.
Fmt = "###,###,##0.00" ' Define money format.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("How many monthly payments?")
PayType = MsgBox("Do you make payments at end of the month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
For Period = 1 To TotPmts ' Total all interest.
IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
TotInt = TotInt + IntPmt
Next Period
Msg = "You'll pay a total of " & Format(TotInt, Fmt)
Msg = Msg & " in interest for this loan."
MsgBox Msg ' Display results.
IRR(values(), [ guess ])
values() 必須です。 キャッシュ フロー値を指定する Double の 配列です。
guess 省略可能。 推定 値を指定するバリアントは 、IRR によって返されます。 guess を省略すると、0.1 (10%) が指定されたと見なされます。
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double ' Set up array.
Guess = .1 ' Guess starts at 10 percent.
Fmt = "#0.00" ' Define percentage format.
Values(0) = -70000 ' Business start-up costs.
' Positive cash flows reflecting income for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
RetRate = IRR(Values(), Guess) * 100 ' Calculate internal rate.
Msg = "The internal rate of return for these five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg ' Display internal return rate.
IsArray(varname)
必要な varname 引数は、変数を指定する識別子です
IsArray は、変数が配列の場合は True を返し、それ以外の場合は False を返します
Dim MyArray(1 To 5) As Integer, YourArray, MyCheck ' Declare array variables.
YourArray = Array(1, 2, 3) ' Use Array function.
MyCheck = IsArray(MyArray) ' Returns True.
MyCheck = IsArray(YourArray) ' Returns True.
IsDate(expression)
必須の expression引数は、日付または時刻として認識可能な 日付式あるいは 文字列式が含まれる Variant です
Dim MyVar, MyCheck
MyVar = "04/28/2014" ' Assign valid date value.
MyCheck = IsDate(MyVar) ' Returns True.
MyVar = "April 28, 2014" ' Assign valid date value.
MyCheck = IsDate(MyVar) ' Returns True.
MyVar = "13/32/2014" ' Assign invalid date value.
MyCheck = IsDate(MyVar) ' Returns False.
MyVar = "04.28.14" ' Assign valid time value.
MyCheck = IsDate(MyVar) ' Returns True.
MyVar = "04.28.2014" ' Assign invalid time value.
MyCheck = IsDate(MyVar) ' Returns False.
IsEmpty(expression)
必要な 式の引数は 、数値式または文字列式を含 むバリアント型 (Variant) です。 ただし、IsEmpty を使用して個別の変数が初期化されているかどうかを判断するので、expression 引数は、通常、1 つの変数名です
Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar) ' Returns True.
MyVar = Null ' Assign Null.
MyCheck = IsEmpty(MyVar) ' Returns False.
MyVar = Empty ' Assign Empty.
MyCheck = IsEmpty(MyVar) ' Returns True.
IsError(expression)
必要な 式の引数には、任意の有効な式を指定できます
エラー値は、CVErr 関数を使用して実数をエラー値 に変換することで作成 されます。 IsError 関数は、数値式がエラーを 表すかどうかを判断するために使用されます。 式引数が エラー を示す場合、IsError は True を返します。それ以外の場合は、False を返します
Dim ReturnVal, MyCheck
ReturnVal = UserFunction()
MyCheck = IsError(ReturnVal) ' Returns True.
IsMissing(argname)
必須の argname 引数には、オプションの Variant プロシージャ引数の名前が含まれます
IsMissing 関数を使用 して、プロシージャの呼び出しでオプション の Variant 引数が指定されているかどうかを検出します。 指定した引数に****値が 渡されていない場合、IsMissing は True を返します。それ以外の場合は、False を返します
Dim ReturnValue
' The following statements call the user-defined function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function
IsNull(expression)
必要な 式の引数は 、数値式または文字列式を 含む バリアント型 (Variant) です
式が Null の 場合、IsNull は True を返します。それ以外の場合、 IsNull は False を返します。 式 が 複数の変数で 構成されている場合、任意の構成変数で Null を指定すると、式全体に 対して True が返されます
Dim MyVar, MyCheck
MyCheck = IsNull(MyVar) ' Returns False.
MyVar = ""
MyCheck = IsNull(MyVar) ' Returns False.
MyVar = Null
MyCheck = IsNull(MyVar) ' Returns True.
IsNumeric(expression)
必要な 式の引数は 、数値式または文字列式を 含む バリアント型 (Variant) です
IsNumeric は、expression 全体が数値として認識される場合は True を返し、それ以外の場合は False を返します。
IsNumeric は、式 が 日付式の場合は、False を返します
Dim MyVar, MyCheck
MyVar = "53" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
MyVar = "459.95" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
MyVar = "45 Help" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns False.
IsObject(identifier)
必要な 識別子の引数は変数名です
IsObject は、識別子 が Object 型または任意の有効なクラス型で宣言された 変数である場合、または識別子が VarType vbObject のバリアント 型またはユーザー定義オブジェクトの場合は True を返します。それ以外の場合は、False を返します
Dim MyInt As Integer ' Declare variables.
Dim YourObject, MyCheck' Note: Default variable type is Variant.
Dim MyObject As Object
Set YourObject = MyObject' Assign an object reference.
MyCheck = IsObject(YourObject)' Returns True.
MyCheck = IsObject(MyInt)' Returns False.
MyCheck = IsObject(Nothing)' Returns True.
MyCheck = IsObject(Empty)' Returns False.
MyCheck = IsObject(Null)' Returns False.