当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2009年3月9日月曜日

ブラウザで現在の文書を取得する

気がついたら1週間も記事を書いていなかった。とはいえ、新しいことを書く余裕がないので、古いネタを探してきた。
筆者はあまり使わない、Webでの利用時のサンプルです。


ブラウザから文書を開いた場合は、NotesUIDocumentクラスが使えない。
その代わり、NotesSessionクラスのDocumentContextプロパティを利用する(サンプルの太文字部分)。
取得してしまえば、NotesDocumentと同じ扱いでよい。

下記のプログラムはブラウザでデータベースの文書を開いたら、
それに対する返答文書を自動で作成する。
返答文書には、「アクセス日時」「アクセスユーザー」「アクセスした文書のSubject」をセットする。
というものである。

---------------------------------------------------------------------
Sub Initialize
'DB環境の定義
'sessionはセッション、dbは現在のデータベース、condocはWeb上での現在の文書、docは返答文書(ログ)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim condoc As NotesDocument
Dim doc As NotesDocument

'現在の文書を取得
Set db = session.CurrentDatabase
Set condoc = session.DocumentContext

'新規文書かどうかのチェック
If condoc.IsNewNote Then
Exit Sub
End If

'返答文書を作成(MakeResponseが返答文書を作成するメソッド)
Set doc = db.CreateDocument
Call doc.MakeResponse( condoc )

'返答文書に値をセット(現在の文書の内容はDocumentContextから取得)
doc.Form = "Log"
doc.Date = Now
doc.Who = condoc.From
doc.Subject = condoc.Subject

'返答文書を保存
Call doc.Save(True, False)
End Sub

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: