C#
Const 名前 = 値;
Lotus Script 言語, VBScript 言語
Const 名前 = 値
注意
設定できる値部分には、計算式や変数を書くことができません
Const に限りませんが、標準で Lotus Script は Private になり、VBScript は Public になります
Const 名前 = 値;
Const 名前 = 値
注意
設定できる値部分には、計算式や変数を書くことができません
Const に限りませんが、標準で Lotus Script は Private になり、VBScript は Public になります
Lotus Scriptのクラスは、VBScriptと異なっているところが多いです。
Class クラス名 As 元クラス ’別のクラスから引き継ぐことができます
’最初に実行されます
Sub New (変数名 As 型).元クラス (変数名 As 型) ’値を受け取ることができます
End Sub
’最後に実行されます
Sub Delete ()
End Sub
Public Sub 戻り値がない関数名 (変数名 As 型)
End Sub
‘使うときは「Call クラスオブジェクト.関数名(値)」です
Public Function 戻り値がある関数名 (変数名 As 型) As 型
Me.戻り値がある関数名 = 戻り値 ’値を返します
End Function
‘使うときは「値 = クラスオブジェクト.関数名(値)」です
‘または「Set 値 = クラスオブジェクト.関数名(値)」です
Public Property Set プロパティ名 As 型 ‘ Lotus Script では Let は Set に統合されています
変数名 = Me.プロパティ名 ’値を受け取ります
(または) Set 変数名 = Me.プロパティ名 ’値を受け取ります
End Property
‘使うときは「クラスオブジェクト.プロパティ名 = 値」です
‘または「Set クラスオブジェクト.プロパティ名 = 値」です
Public Property Get プロパティ名 As 型
Me.プロパティ名 = 戻り値 ’値を返します
End Property
‘使うときは「値 = クラスオブジェクト.プロパティ名」です
‘または「Set 値 = クラスオブジェクト.プロパティ名」です
End Class
何も指定しないと Private、ByRef になります。
現在のクラスのなかで現在のクラスで定義された関数・プロパティ・変数を使うには、名前の先頭に Me. をつければOKです
Class クラス名 ’独立したクラスとして作成します
’最初に実行されます
Sub Class_Initialize () ’値を受け取れません
End Sub
’最後に実行されます
Sub Class_Terminate ()
End Sub
Sub 戻り値がない関数名 (変数名)
End Sub
‘使うときは「Call クラスオブジェクト.関数名(値)」です
Function 戻り値がある関数名 (変数名)
戻り値がある関数名 = 戻り値 ’値を返します
End Function
‘使うときは「値 = クラスオブジェクト.関数名(値)」です
‘または「Set 値 = クラスオブジェクト.関数名(値)」です
Public Property Set プロパティ名 ’Set はオブジェクトを受け取ります
Set 変数名 = プロパティ名 ’値を受け取ります
End Property
‘使うときは「Set クラスオブジェクト.プロパティ名 = 値」です
Public Property Let プロパティ名 ’Let はオブジェクト以外を受け取ります
変数名 = プロパティ名 ’値を受け取ります
End Property
‘使うときは「クラスオブジェクト.プロパティ名 = 値」です
Public Property Get プロパティ名
プロパティ名 = 戻り値 ’値を返します
End Property
‘使うときは「値 = クラスオブジェクト.プロパティ名」です
‘または「Set 値 = クラスオブジェクト.プロパティ名」です
End Class
なにも指定しないと Public、ByRef になります。
現在のクラスで定義されたプロパティをつかうときに、名前の先頭に Me. をつけるときがあります
VBAのクラスは Visual Basic Editor のメニューの挿入からクラスモジュールを選ぶことで作成できます。ひとつのページ(?)に複数のクラスを記述することができません
クラスをエクスポートすると、次のようなヘッダーが付いてきます
ここに記述したものすべては単一のクラス内のものとして扱われます
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "クラス名"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
(ここに関数ほかを記述します)
’最初に実行されます
Private Sub Class_Initialize() ’値を受け取れません
End Sub
'使うときは「New クラス名」です
’最後に実行されます
Private Sub Class_Terminate()
End Sub
'使うときは「Set クラス変数 = Nothing」です
Public Sub 戻り値がない関数名(変数名) ' 複数の変数を指定するときはカンマ(,)で区切ります
End Sub
'使うときは「Call クラスオブジェクト.関数名(値)」です
'または「Call クラスオブジェクト.関数名(変数名:=値)」です
Public Function 戻り値がある関数名(変数名)
戻り値がある関数名 = 戻り値 ’値を返します
End Function
'使うときは「値 = クラスオブジェクト.関数名(変数名)」です
'または「Set 値 = クラスオブジェクト.関数名(変数名)」です
Public Property Get プロパティ名
プロパティ名 = 戻り値 ’値を返します
End Property
'使うときは「値 = クラスオブジェクト.プロパティ名」です
Public Property Let プロパティ名(変数名) ’Let はオブジェクト以外を受け取ります
変数名 = プロパティ名 ’値を受け取ります
End Property
'使うときは「クラスオブジェクト.プロパティ名 = 値」です
Public Property Set プロパティ名(変数名) ’Set はオブジェクトを受け取ります
Set 変数名 = プロパティ名 ’値を受け取ります
End Property
'使うときは「Set クラスオブジェクト.プロパティ名 = 値」です
&(アンド)は異なる意味でも使われますので、半角空白を使わずに詰めて書くとコンパライラに誤解されることがあります
注意
& は両辺が null のときに null を返します
+ は片方が null のときに null を返します
+ は数値とあわせて使うと、数値に変換できる文字値を数値へ変換して加算することがあります
演算子ではないところで使用される&記号
変数名や値の末尾に&を付けると、Long型ですよという意味になります(接尾辞)
&B、&O、&H は、それぞれ2進数、8進数、16進数ですよという意味になります(接頭辞)
演算子として&記号を書くときは、コンピューターが困惑しないように、&の前後に空白をはさむとよいでしょう
注意
& は両辺が null のときに null を返します
演算子ではないところで使用される&記号
&O、&H は、それぞれ8進数、16進数ですよという意味になります
演算子として&記号を書くときは、コンピューターが困惑しないように、&の後に空白をはさむとよいでしょう
エラーになる例
ArrayAppend (単数値, 単数値または配列)
動的配列とは
Lotus Script の配列は2種類あります
ひとつは Redim で値の数を変更できる動的配列、もうひとつは値の数を変えられない静的配列です
既存の配列に値を追加する方法
動的配列に入る値の数を変更するには Redim Preserve 配列名 (上限値) を使用します
初期値では下限値が 0 となっているため、上限値を 1 にすると配列の値の数は (0) と (1) の2つになります
Preserve キーワードを忘れると、配列の値が初期化されます
新しく増やした部分に値を入れるには 配列名 (Ubound (配列名)) = 値 とします
Lotus Script 言語の既存の配列に値を追加する方法でおこないます
' 行末までコメント
Rem 行末までコメント
%REM
複数行コメント
注意 : %REM と %END REM は行の先頭から記載します
%END REM
' 行末までコメント
Rem 行末までコメント
REM {括弧で囲んだ範囲がコメント};
REM "括弧で囲んだ範囲がコメント";
注意
論理型を数値に置き換えると紛らわしいです
True や False を数値に置き換えることはできますが控えたほうが無難です
等しい
=
等しくない
<>, ><
等しい
=
等しくない
<>
反転(Not, !, ~しない, ~ではない)
重ねて使うと、否定の否定って何!?って、何だかわからなくなりそうです
等しい
=
等しくない
<>, ><, !=, =!
エラーになる例
Asc (長さがゼロの文字値)
Asc (Null値)
UString (1, -1)
UString (1, 65536)
注意
@Ascii は Asc とは異なります
@Ascii はロータスマルチバイト文字セット (LMBCS) を ASCII文字にする関数です
エラーになる例
Abs (複数値)
Abs (文字値)