サブルーチンと関数

VBScript のサブルーチンと関数

このセクションでは、Altum Designer の Visual Basic スクリプトにおけるサブルーチンおよびプロシージャの使用方法の概要を説明します。

プロシージャへのパラメータの渡し方

スクリプト内でパラメータを受け取ることができる関数またはサブルーチン(プロシージャ/メソッド)が定義されている場合、変数をその関数またはサブルーチンに渡すには、 ByRef または ByVal を使用します。

パラメータが渡されるメソッドを宣言するには、 ByRef または ByVal キーワードを使用します。 Sub または Function ステートメントで関数やサブルーチンを定義する際、パラメータリスト内でまたはキーワードを使用します。たとえば、次のコード断片は、2つのパラメータを受け取るサブルーチンを定義しています。1つ目は値渡しで、2つ目は参照渡しで渡されます:

Sub Test (ByVal Param1 As Integer , ByRef B As String)

これら2つの方法の違いは、 ByRef は変数への参照を渡すものであり、サブルーチンや関数がパラメータとして渡された実際の変数に変更を加えることを可能にします。これはパラメータの渡し方のデフォルトの方式であり、明示的に方式が指定されていない場合に使用されます。

ByVal は、変数の値のみを渡します。サブルーチンや関数はこの値を使用できますが、渡された元の変数は変更されません。

以下の例は、これらの方法の違いを示しています。メインのプロシージャは以下の通りです:

Sub Main
  Dim X, Y
  X = 45 : Y = "Number"
  Test X, Y   ' Call to a subprocedure called Test.
  MsgBox X
   MsgBox Y
End Sub

上記の手順には、サブプロシージャへの呼び出しが含まれています Test — 下記を参照。

サブルーチンが次のように定義されている場合:

Sub Test (ByRef A, ByRef B)
  B = B & " = " & A : A = 10*A
End Sub

その場合、変数 X および Y がサブルーチンから直接参照されます。その結果、 X および Y の値がサブルーチンによって変更されるため、 Test が実行された後、X = 450 および Y = "Number = 45" となります。これは、メソッドが明示的に宣言されていない場合のデフォルトの挙動です。

しかし、サブルーチンを次のように定義した場合:

Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub

この場合、 Test が実行された後、メインプロシージャは X = 45 および Y = "Number" と報告します。つまり、これらは変更されません。

あるいは、サブルーチンを次のように定義した場合(混合メソッド):

Sub Test (ByRef A, ByVal B)
  B = B & " = " & A : A = 10*A
End Sub

この場合、 Test が実行された後、X = 450、Y = "Number" となります。これは Y 値渡しされたため、変更されません。

呼び出し文で変数名の前に括弧を付けることで、 ByRef 呼び出し文で変数名の前後に括弧を付けることで、関数やサブルーチンの設定を上書きできます。

次の文で Test を呼び出すと:

Test (X), Y

...という文で Test を呼び出すと、 X は、プロシージャ定義でそのパラメータに対して定義された方法にかかわらず、値渡しで渡されます。

日付および時刻のルーチン

VBScript言語は、以下に概説する一連の日付/時刻ルーチンをサポートしています:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

ファイル入出力ルーチン

VBScript 言語は、以下のファイル入出力ルーチンをサポートしています:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

数学ルーチン

VBScript 言語は、以下の数学ルーチンをサポートしています:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

文字列ルーチン

VBScript言語は、以下に概説するさまざまな文字列ルーチンをサポートしています:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

サーバープロセスのルーチン

サーバープロセスのルーチンは、スクリプト内でプロセスを扱う際、特にプロセスパラメータの文字列を抽出(取得)または設定する必要がある場合に使用されます。

スクリプト内でプロセスやパラメータを実行するには、以下の関数を使用します:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

 

 

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

 

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
機能の提供状況

ご利用可能な機能は、お使いのAltiumソリューション(Altium DevelopAltium Agile TeamsAltium Agile Enterprise、または有効な契約期間中のAltium Designer)によって異なります。

実際にお使いのソフトウェアに文書化されている機能が表示されない場合は、詳細についてAltium Sales までお問い合わせください。

従来のドキュメント

Altium Designer のドキュメントは、バージョンごとに掲載されなくなりました。Altium Designer の旧バージョンのドキュメントは、Other Installers ページの Legacy Documentation の項目をご覧ください。

Content