6_3.[G H I]

VB/VBAの 組み込み関数 TOP-Pageへ

こちらも役に立つ情報
各関数の使用例
GetAllSettings
Windows レジストリのアプリケーションのエントリまたはアプリケーションの初期化ファイルの情報 (Macintosh の場合) から、キー設定のリストと各キー設定の値 (SaveSetting を使用して作成されたもの) を返します
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
ファイル、ディレクトリ、またはフォルダーの属性を表す Integer を返します
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
ActiveX コンポーネントから提供されたオブジェクトの参照を返します
GetObject([ pathname ], [ class ])
GetObject 関数は、ファイルから ActiveX オブジェクトにアクセスして、そのオブジェクトを オブジェクト変数に割り当てるために使用されます。 GetObject で返されたオブジェクトをオブジェクト変数に割り当てるには、Set ステートメントを使用します
        
記述凡例
Dim MyXL As Object
Set MyXL = Getobject("pathname", "Excel.Application")
      
GetSetting
Windows レジストリ内のアプリケーションのエントリ、または (Macintosh 上の) アプリケーションの初期化ファイル内の情報から、キー設定値を返します
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
数値を 16 進数で表す String を返します
Hex(number)
必須の number 引数は、任意の有効な 数値式または 文字列式です
number が整数ではない場合、最も近い整数に丸めてから評価されます
        
記述凡例
Dim MyHex
MyHex = Hex(5)    ' Returns 5.
MyHex = Hex(10)    ' Returns A.
MyHex = Hex(459)    ' Returns 1CB.
      
Hour
1 日の時間を表す 0 以上 23 以下の整数を指定する Variant (Integer) を返します
Hour(time)
必須の time 引数は、時間を表すことができる、任意の Variant、数式、文字列式、または任意の組み合わせです。 time に Null が含まれている場合は Null が返されます
        
記述凡例
Dim MyTime, MyHour
MyTime = #4:35:17 PM#
MyHour = Hour(MyTime)
MsgBox MyTime & "_ _" & MyHour
      
Iif
式の評価に基づいて、2 つの部分のいずれかを返します
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
Microsoft Windows の現在の入力方式エディター (IME) モードを指定する整数型 (Integer) の値を返します。東アジアのバージョンでのみ利用可能です
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
Input モードまたは Binary モードで開かれたファイルからの文字を含む String を返します
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
ダイアログ ボックスにプロンプトを表示し、ユーザーがテキストを入力するかボタンをクリックするまで待機し、テキスト ボックスのコンテンツが含まれる文字列を返します
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
ある文字列が別の文字列の中で最初に現れる位置を指定する Variant(Long)を返します
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
ある文字列の中から別の文字列を後方から検索し、最初に見つかったその文字位置を返します
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
数値の整数部分を返します※類似Fix
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
定額の支払いを定期的に行い、利率が一定であると仮定して、投資の指定した期の金利を指定する Double を返します
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
一連の定期的なキャッシュ フロー (支払いと受け取り) の内部収益率を指定する倍精度浮動小数点型 (Double) の値を返します
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
変数が 配列かどうかを示す Boolean 値を返します
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
式が日付であるか、有効な日付または時刻として認識可能な場合には True を返し、それ以外の場合には False を返します
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
変数が初期化されているかどうかを示す Boolean 値を返します
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
式がエラー値かどうかを示すブール型 (Boolean) の値を返します
IsError(expression)
必要な 式の引数には、任意の有効な式を指定できます
エラー値は、CVErr 関数を使用して実数をエラー値 に変換することで作成 されます。 IsError 関数は、数値式がエラーを 表すかどうかを判断するために使用されます。 式引数が エラー を示す場合、IsError は True を返します。それ以外の場合は、False を返します
        
記述凡例
Dim ReturnVal, MyCheck
ReturnVal = UserFunction()
MyCheck = IsError(ReturnVal)    ' Returns True.
      
IsMissing
オプションの Variant 引数がプロシージャに渡されたかどうかを示すブール型 (Boolean) の値を返 します
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
式に無効なデータ (Null) が含まれていないかどうかを示すブール型 (Boolean) の値を返します
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
式を数値として評価できるかどうかを示すブール型 (Boolean) の値を返します
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
識別子がオブジェクト 変数を表しているかどうかを示す Boolean 値を返します
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.