1

Access データベースから Lotus Notes に項目をエクスポートしようとしています。エクスポートしようとしているドキュメントは静止しており、すべてのデータが書き込まれています。何らかの方法でプレースホルダーをマークしてから値を更新する必要があります。ドキュメントを読みましたが、フィールドに対処してから、次のようにテキストを置き換えるメソッドを呼び出す必要があるようです。

'where body is the field and the following string is what to replace field with
Call doc.ReplaceItemValue("body", "REPLACE BODY")

明確にするために、私のコード全体は次のようになります。

Set session = CreateObject("Notes.NotesSession")
Set maildb = session.GetDatabase("server", "mail\box.nsf")

Set View = maildb.GetView("Stationery")
Set entries = View.AllEntries

Set entry = entries.GetFirstEntry

Set doc = entry.Document

Call doc.ReplaceItemValue("Subject", "Report - " & Date)
'add code here
Call doc.send(False, "person.to.receive@thisemail.com")


End Sub

ドキュメントを熟読しているときに、フィールドを作成し、それらのフィールドにアドレスして値を更新する機能があるように見えることに気付きました。たとえば、$COST という名前のフィールドがある場合、次のようにすることができます。

Call doc.ReplaceItemValue("$COST", "The cost is $3000")

そして、そのフィールドは、メソッドを介して渡した値を反映するように更新する必要があります。私の大きな問題は、ドキュメントを調べても、カスタム フィールドに追加する必要がある場所がわからないことです。ドキュメントでは、これらのフィールドの作成方法と対処方法を知っていることを前提としているようです。それとも、これらのフィールドをプログラムで作成してからデータを入力するだけですか? 私のクライアントは Lotus Notes 8 です。ありがとうございます。

4

2 に答える 2

0

@Knut Herrmann の回答のコメント スレッドに基づいて、あなたが本当に望む解決策には、「保存されたフォーム」の使用が含まれると思います。NotesDocument.Send() メソッドの最初の引数は、フォームを保存するかどうかを指定するブール値です。

通常、Domino Designer を使用して保管フォームを作成します。誰のメールボックスに対するデザイナー権限も必要ありません。独自の空のデータベースを作成し、そこにフォームを入れるだけで済みます。コードを変更してそのデータベースを開き、現在行っているようにメールボックス データベースではなく、そこにドキュメントを作成する必要があります。(Notes のもう 1 つのすばらしい点は、文書をメールするために実際にメールボックス データベースで作業する必要がないことです。適切なフィールドをそこに入れさえすれば、任意のデータベースから任意の文書を送信できます。 .)

また、Domino Designer を使用せずにこれを行う方法もあり、コードが実行時にのみ検出する真のカスタム フィールドを含むフォームを動的に生成することもできます。これは、フォームを含む Lotus Notes オブジェクトを記述するための XML 形式である DXL を使用して行うことができます。作業するサンプル DXL が必要なだけです。できればそれは、必要なレイアウトで多かれ少なかれセットアップされた単純なフォームを含む空のデータベースのものである必要がありますが、そのためには Domino Designer が必要です。コードが現在使用しているのと同じメールボックス データベースをそのまま使用することもできますが、そうすると、そこにある必要のない多くの余分なものが DXL に残ります。また、Notes にあまり慣れていないので、すべてをナビゲートして必要な情報を見つけるのは難しいでしょう。

いずれにしても、NotesDXLExporter クラスを使用して DXL ファイルを生成できます。コードで DXL を操作し、必要に応じて要素を追加/変更することができます (もちろん、サンプルに表示されているパターンに従います)。また、NotesDXLImporter を使用して、コードが実際に文書を作成してメールで送信するために使用するデータベースを作成することもできます。保存されたフォームを含むメッセージ。

于 2013-09-04T00:27:16.050 に答える