Notesってノーツと読むんだよ。

メール送信1

最終更新:

bottle

- view
メンバー限定 登録/ログイン

文書リンク送信用メール作成

添付ファイルや画像添付でかなり容量が大きいメール文書を大人数の方に送信する場合、
「その文書の容量*メール送信する人数」分、
メールサーバのHDDの空き容量を食うことになります。
たとえば、文書の容量が5Mでメール送信先が100人いると、
5MB*(送信先100人+送信者1人)=505MBの容量食うことに。。。おそろしや。。

これを回避するためにも、内容を掲示板DBに記載しておいて、
リンクだけをメールする方法が考えられると思います。
このリンクがくっついたメールを簡単に作成するためのスクリプトを以下に掲示します。

リンクが付いたメール文書が作成されたあとは、各自で宛先指定して
メールを送信してください。
作成されたリンク付きメール文書はメールDBにドラフト保存されますので、
あとで内容を編集して送信することも可能です。

(文書リンクコピーしてメール文書作ってリンク貼り付ければいいぢゃん。
ってことなんですが、ただ単純にズボラなだけ。。。)

注意1

このスクリプトは各クライアントの環境変数値を使います。
この為、現在のロケーションのホーム/メールサーバ名とメールファイルの設定が
実際の使用NotesIDとの乖離がある場合、エラーが発生しますので、
エラーが発生するユーザにはクライアントサイドで
ロケーションの編集を行ってください。

注意2

このスクリプトはリンク元となる文書が保存されてないとダメです。
ので、スクリプトを入れるアクションに対して、
プロパティの「非表示」タブを以下のようにチェックしてください。

スクリプト例

以下のスクリプトは、「メール文書にリンクを貼りつけたい文書」で使われてるフォームの
アクションボタンとして組み込んでください。

Sub Click(Source As Button)

Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim uidoc2 As NotesUIDocument
Dim DAI As String
Dim MYServer As String
Dim MYMaildb As String

'環境変数からサーバー名及びメールファイル名を取得
MYServer = session. GetEnvironmentString("MailServer",True)
MYMaildb = session.GetEnvironmentString("MailFile",True)

'現在(掲示板)の文書を取得
Set uidoc = workspace.CurrentDocument
'ここのFieldgetTextの引数はリンク元文書の題名が入ってるフィールドを指定すること
DAI = uidoc.FieldgetText("Title")
'現在の文書をバックグラウンド処理できるように変更
Set MYDOC = uidoc.Document

'メールDBの指定
Dim MYdb As New NotesDatabase(MYServer, MYMaildb)
'メール文書の作成
Dim MYMEMO As NotesDocument
Set MYMEMO = MYdb.CreateDocument
MYMEMO.Form = "memo"
MYMEMO.subject = DAI
Set MYRICH = New NotesRichTextItem (MYMEMO,"Body")
Call MYRICH.AppendText ("★★★「" + db.title + "」へ掲載。アイコンをクリックしてください。→")
Call MYRICH.AppendDocLink (MYDOC, "文書リンク")
'メール文書をドラフト保存
Call MYMEMO.Save(False, True)

'ドラフト保存された文書をフロントエンドで開く
Set uidoc2 = workspace.EditDocument( , MYMEMO)

'リンク作成した元文書を閉じる
Call uidoc.Close

End Sub

ツッコミ・コメント

名前:
コメント:


添付ファイル
目安箱バナー