[ 戻る ] | [ ホームへ ]

◆ ドミノCOM実装〜コーディング編

ここからは実際のVBAでのコードを例に説明していきます。

1. ノーツセッションの開始
 VBAのコードで、NotesSession型の変数(オブジェクト)を宣言し、 その初期化メソッド(Initialize)を使ってセションを開始します。 実行した場合、ローカルに設定されているデフォルトユーザの認証画面が現れます。
  Dim session As New NotesSession
  Call session.Initialize
 このとき、Initializeメソッドに password (文字列)パラメータを渡すことも出来ます。 その場合ユーザ認証はこのパスワードを使用する為、認証画面が現れません。 Initializeメソッドの部分は下記のように書きます。
  Call session.Initialize("password")
2. データベースへのアクセス
 セッションが確立されたならデータベースへアクセスすることが出来ます。 次のコードは、デフォルトユーザのメールデータベースを取得します。
  Set notesdir = session.GetDbDirectory("")
  Set db = notesdir.OpenMailDatabase()
 任意のデータベースを開く場合は、GetDbDirectoryメソッドの 代わりに GetDatabaseメソッドを使うことも出来ます。
  Set db = session.GetDatabase( [ServerName], [DBName])
3. データベース内に新規文書(メール含む)を作成
 現在のデータベースに文書を新規作成します。 保存するには、Saveメソッドを呼び出さなければなりません。 文書には関連付けられたフォームがないので、保存後にユーザーの操作環境で この文書を開くと、文書はデータベースのデフォルトのフォームで表示されます。
  Set doc = db.CreateDocument
3. フィールドに値の代入
 COM経由の場合は、Lotus Scriptと違いプロパティ(フィールド)へ 直接代入することが出来ません。オブジェクトなのであたりまえですが(^^; つまり、VBA側では、「doc.SendTo = "taro hoge/World"」 と 書くことが出来ません。 ReplaceItemValueメソッドを使って、フィールドへ値を代入します。
  Call doc.ReplaceItemValue("SendTo", "taro hoge/World")
4. 文書を保存・メール送信
 ノーツ文書を保存することが出来ます。
  Call doc.Save(True, False)
 また文書をメールとして送信することも出来ます。 Sendメソッドを呼び出す前に宛先を指定する必要があります。 宛先の指定の仕方は通常は2通りあります。 一つは配列に宛先をセットし、 その配列を Send メソッドに渡す方法があります。 下記のようなコーディングを行ないます。
  Dim recipients( 1 To 3 ) As String
  recipients( 1 ) = "Jim Dinauer"
  recipients( 2 ) = "Betty Dinauer"
  recipients( 3 ) = "Mary Sticka"
  Call doc.Send( True, recipients )
 もう一つの方法としては、SendTo フィールドに宛先をセットして 送信する方法があります。これはメールデータベースのメールや フォーム上に SendTo フィールドがあるフォームを送信する場合に最適です。
  Call doc.ReplaceItemValue( "SendTo", "Carl Pycha" )
  Call doc.Save( False, True )
  Call doc.Send( True )

このように、ドミノオブジェクトでCOM対応しているものなら、 同じように使うことが出来ます。 詳細は、ドミノデザイナーのヘルプを参照してください。 どのオブジェクトが対応しているのか掲載されています。

[ >>Next ]



| ドミノ/ノーツ〜外部システム連携 メニューへ |


Takuya Fujinami
Most recent update : March 1,2002