サブルーチンと関数

VBScript のサブルーチンと関数

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

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

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

パラメータを受け取るメソッドを宣言するには、Sub または Function ステートメントで関数/サブルーチンを定義する際、パラメータリスト内で ByRef または ByVal キーワードを使用します。たとえば、次のコード断片は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

メインプロシージャ内の変数 XY は、サブルーチンから直接参照されます。その結果、XY の値はサブルーチンによって変更され、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

...プロシージャ定義でそのパラメータにどの方式が定義されているかに関わらず、変数 X は値渡しで渡されます。

日付と時刻のルーチン

VBScript 言語は、以下に示す日付/時刻ルーチン一式をサポートしています。

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

ファイル IO ルーチン

VBScript 言語は、次のファイル IO ルーチン一式をサポートしています。

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 のエディション (Agile Teams、または Agile Enterprise)、または Altium Designer (有効な期間)) によって異なります。

説明されている機能がお使いのソフトウェアに表示されない場合、Altium の営業担当者にお問い合わせください

従来のドキュメント

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

Content