VBSの基本 - VBScriptの処理(SubとFunctionを使った関数の定義)
一般的にプロシージャ関数は、コンテンツのループ処理やページングなどの機能を再利用する際に使用します。
Subプロシージャ
Subプロシージャは、Sub文とEnd Sub文の間に含まれるVBScript文の集合体です。Sub プロシージャに引数がない場合、Sub ステートメントには空の括弧 () を含める必要があります。
コード例は次のとおりです。
Call GetName() 'Call the Sub procedure
Sub GetName()
MsgBox "I am the script house" 'Output string
End Sub
Subプロシージャは、パラメータ(呼び出し側のプロシージャから渡される定数、変数、式)を使用することができます。コード例は以下の通りです。
Call GetName("I am the script house") 'Call Sub
Sub GetName(name)
MsgBox name 'Output string
End Sub
Subプロシージャに戻り値がない!
getName "Script House" 'Call procedure
Sub getName(name)
getName = name 'Set the return value
End Sub
上記のスクリプトを実行すると、以下のようなエラーが発生します。このプロシージャは戻り値を持つことができないので、注意してください。
機能プロセス
Function プロシージャは、Function ステートメントと End Function ステートメントの間にある VBScript ステートメントのセットです。Function プロシージャは Sub プロシージャと似ていますが、Function プロシージャに引数がない場合は Function ステートメントに空の括弧 () が含まれていなければならないという点が異なります。サンプルコードは以下の通りです。
Call GetName() 'Call Function
Function GetName()
MsgBox "Here is the script house" 'Output string
End Function
Functionプロシージャは、パラメータ(呼び出し側のプロシージャから渡される定数、変数、式)を使用することができます。コード例は以下の通りです。
Call GetName("Here is the script house") 'Call Function
Function GetName(name)
MsgBox name 'Output string
End Function
関数には戻り値があり、プロシージャの文中では関数名で代入されます。
getName "Here is the script home" 'Call Function
Function getName(name)
getName = name 'Set the return value
End Function
プロシージャの呼び出し方
Function プロシージャを呼び出す場合、変数代入文の右端または式の中で関数名を使用する必要があります。
Subプロシージャを呼び出す場合は、プロシージャ名とすべての引数の値をカンマで区切って入力するだけです。Call文は必須ではありませんが、使用する場合は、すべての引数を括弧で囲む必要があります。
次の例は、プロシージャを呼び出す2つの方法を示しています。1 つは Call 文を使用し、もう 1 つは使用しません。どちらも同じ効果があります。
getName "scriptHome" 'The first way to write the call procedure
Call getName("I am mdxy") 'The second way to write the call procedure
Sub getName(name)
MsgBox "I am"&name
End Sub
SubとFunctionの違いを覚えよう。
Subには戻り値がなく、Functionには戻り値があります。
Sub は式の中に入れることができませんが、Function は可能です。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ActiveXコンポーネントはオブジェクトを作成できません: dm.dmsoft code: 800A01AD
-
vbs LAN上のコンピュータのソフトウェアとハードウェアのリストを照会する。
-
ExcelワークシートのVBSトラバーサルのコード
-
VBSで指定したディレクトリにあるファイルの一覧を取得する方法
-
VBS ワンクリック設定 VOIP スクリプトコード
-
VBSの基本 - vbscript動的配列
-
MSScriptControlの使用例です。
-
Iisext.vbsでWebサービス拡張を削除する方法
-
Iisext.vbsを使用してWebサービス拡張を追加する方法
-
iisext.vbsを使用してアプリケーションの依存関係を追加する方法