タグ: Lotus Script

  • [言語比較]ArrayAppend : 値をまとめて新しい配列へ

    [言語比較]ArrayAppend : 値をまとめて新しい配列へ

    Lotus Script 言語

    • 動的配列 = ArrayAppend (配列, 単数値または配列)

    エラーになる例
    ArrayAppend (単数値, 単数値または配列)

    動的配列とは
    Lotus Script の配列は2種類あります
    ひとつは Redim で値の数を変更できる動的配列、もうひとつは値の数を変えられない静的配列です

    既存の配列に値を追加する方法
    動的配列に入る値の数を変更するには Redim Preserve 配列名 (上限値) を使用します
    初期値では下限値が 0 となっているため、上限値を 1 にすると配列の値の数は (0) と (1) の2つになります
    Preserve キーワードを忘れると、配列の値が初期化されます
    新しく増やした部分に値を入れるには 配列名 (Ubound (配列名)) = 値 とします

    VbScript 言語

    Lotus Script 言語の既存の配列に値を追加する方法でおこないます

    Lotus 式言語

    • 配列 = 単数値または配列 : 単数値または配列
  • [言語比較]Abs : 数値を符号のない絶対値へ

    [言語比較]Abs : 数値を符号のない絶対値へ

    Lotus Script 言語, VbScript 言語

    • 数値 = Abs (数値)
    • Null値 = Abs (Null値)

    エラーになる例
    Abs (複数値)
    Abs (文字値)

    Lotus 式言語

    • 数値 = @Abs (数値)
    • 数の複数値 = @Abs (数の複数値)
  • [言語比較]If : 条件によって分岐

    [言語比較]If : 条件によって分岐

    Lotus Script 言語

    If 条件式 Then
     式
    Elseif 条件式 Then
     式
    Else
     式
    End If

     ※If ~ Elseif ~ Elseif と繰り返せます
     ※Elseif Else ともに使わないことができます

    If 条件式 Goto ラベル
    ラベル:
    式
    If 条件式 Goto ラベル Else 式
    ラベル:
    式

     ※If ~ Goto ~ Else ~ は改行せずに書きます

    VbScript 言語

    If 条件式 Then
     式
    Elseif 条件式 Then
     式
    Else
     式
    End If

     ※If ~ Elseif ~ Elseif と繰り返せます
     ※Elseif Else ともに使わないことができます

    Lotus 式言語

    • @If (条件式; 式; 式);
       『条件式; 式; 』は最大99回繰り返せます
    • @V2If (条件式; 式; 式);
       ※@V2If は旧バージョン用です、上位互換がある @If に書き換えることができます
  • [言語比較]ArrayGetIndex : 配列のどこに値が含まれているか調べる

    [言語比較]ArrayGetIndex : 配列のどこに値が含まれているか調べる

    Lotus Script 言語

    • 見つかった検索値の位置 = ArrayGetIndex (配列, 検索値)
    • 見つかった検索値の位置 = ArrayGetIndex (配列, 検索値, 比較方法)
       ※文字値へ変換してから比較します

    比較方法
    0 = 大文字小文字、全角半角を区別します
    1 = 大文字小文字を区別しません
    4 = 全角半角を区別しません
    5 = 大文字小文字、全角半角を区別しません
     ※規定は 0 ですが、規定を Option Compare で変更することができます

    Lotus 式言語

    • 見つかった検索値の位置 = @Member (検索値; 配列); ‘ 見つからなかったときは 0 を返します
    • True/False = @IsMember (検索値(文字値); 配列); ‘ 見つかったとき @True を返します
    • True/False = @IsMember (検索値(配列値); 配列); ‘ 検索値がすべて見つかったとき @True を返します
    • True/False = @IsNotMember (検索値(文字値); 配列); ‘ 見つかったとき @False を返します
    • True/False = @IsNotMember (検索値(配列値); 配列); ‘ 検索値のいずれかが見つかったとき @False を返します
       ※@IsNotMember は !@IsMember と一致しません
  • [言語比較]StrToken : 区切記号で区切られた文字値の一部を拾う

    [言語比較]StrToken : 区切記号で区切られた文字値の一部を拾う

    Lotus Script 言語

    • StrToken (文字値, 区切記号, 場所)
    • StrToken (文字値, 区切記号, 場所, 比較方法)

    場所
    0 のとき 1 とみなされます
    0 より大きいとき、左から何番目か?
    0 より小さいとき、右から何番目か?

    比較方法
    0 = 大文字小文字、全角半角を区別します
    1 = 大文字小文字を区別しません
    4 = 全角半角を区別しません
    5 = 大文字小文字、全角半角を区別しません
     ※規定は 0 ですが、規定を Option Compare で変更することができます


    えおか = StrToken ({あいう,えおか,きくけ}, {,}, 2)

    Lotus 式言語

    • @Word (文字値; 区切記号; 場所);

    場所
    0 のとき 1 とみなされます
    0 より大きいとき、左から何番目か?
    0 より小さいとき、右から何番目か?

  • [言語比較]ArrayUnique : 配列から重複を取り除く

    [言語比較]ArrayUnique : 配列から重複を取り除く

    Lotus Script 言語

    • ArrayUnique (1次元配列)
    • ArrayUnique (1次元配列, 比較方法)

    比較方法
    0 = 大文字小文字、全角半角を区別します
    1 = 大文字小文字を区別しません
    4 = 全角半角を区別しません
    5 = 大文字小文字、全角半角を区別しません
     ※規定は 0 ですが、規定を Option Compare で変更することができます
     ※配列が文字列のときに比較方法を選択できます

    Lotus 式言語

    • @Unique (配列)
       ※パラメータなしの @Unique は、呼び出すたびに異なる文字列を返します

    比較方法
     ※大文字小文字を区別します

  • [言語比較]New : クラスからオブジェクトをつくる

    [言語比較]New : クラスからオブジェクトをつくる

    New : クラスからオブジェクトをつくります

    Lotus Script 言語

    • Set 変数 = New クラス名 ()
    • Set 変数 = New クラス名 (値)
    • Set 変数 = New クラス名
       ※最初に実行される New 関数は値を受け取ることができます
       ※New クラス名へ値を渡さないときは括弧を省略できます

    VbScript 言語

    • Set 変数 = New クラス名
       ※最初に実行される Class_Initialize 関数は値を受け取ることができません
       ※クラス名のうしろに括弧をつけるとエラーになります

  • [言語比較]型名を調べる

    [言語比較]型名を調べる

    値の型名を調べます

    C#
    string 型名 = 値.GetType().FullName;
    Visual Basic
    型名 = Microsoft.VisualBasic.TypeName(値) // 戻り値はString
    Lotus Script 言語
    型名 = Typename(値) // 戻り値はString
  • [Domino]ノーツドミノでつかう言語

    [Domino]ノーツドミノでつかう言語

     ノーツ/ドミノ(Notes/ Domino)で使われるおもな言語にはロータススクリプト(Lotus Script)とロータス式言語(Lotus 式言語やアットマーク関数と呼ばれます)があります。サーバーサイドではJavaも使えます。ロータススクリプトもロータス式言語もコードを保存するときに自動でコンパイルされますので、普段はコンパイルを意識することはありません。
     ロータススクリプトは VBScript に似たところがある言語ですが、後発だけあってエラー処理や変数の型などはかなり改善されて使いやすくなっています。Visual Basic にそっくりです。

     ノーツ/ドミノをウェブ関係で使うと、JavaScriptやJavaを使います。表示まわりではHTML/CSSも使うでしょう。

     Windows上でドミノサーバーを動かしていると、管理用のプログラムを C# や VBScript で書くことがあります。C#コンパイラ(csc.exe)は.NETの実行環境に含まれています。VBScriptはWindows標準コマンドWScriptやCScriptからソースコードをコンパイルせずにコマンドプロンプトやマウスダブルクリックで実行することができます。

  • [Domino]エクセルを操作する

    [Domino]エクセルを操作する

     ノーツからエクセルを操作するにはエクセルオブジェクトを作成して操作します。

    Dim アプリ As Variant
    Set アプリ = CreateObject ({Excel.Application})

     詳しくは次のリンクを参照してください。

    [中級][LotusScript]ノーツからエクセルを操作するには

    オブジェクト モデル (Excel)