工作 旅行 音樂 自行車 很久沒騎了

www.flickr.com
This is a Flickr badge showing photos in a set called 我一歲半了. Make your own badge here.


在Notes郵件裡建立按鈕, 自動打開附加檔

Cory Ma  2009 March 23 上午 10:56:36
最近有人請我做一個button在郵件裡面, 讓使用者按下button即可自動打開郵件內的附加檔
(有人問, 直接double-click附加檔不就可以打開了...嗯.....應該是直接去double-click附加檔, 跟去按一個button, 對收信者的吸引力不同吧!)

Notes的一大特性, 就是客製化空間很大. 使用者可以自己在自己的郵件裡面, 做個button, 並在button裡面放入程式. 當然Outlook也可以寫VBA執行程式, Outlook使用者可不可以直接放個button在信裡面, 我就不知道了, 可能要有用Outlook的人告知一下

在郵件中, 選建立->焦點資訊->按鈕, 即可在郵件中建立一個按鈕
Image:在Notes郵件裡建立按鈕, 自動打開附加檔
將要打開的附加檔, 放入郵件中.
若要將附加檔隱藏起來, 也可以用建立小節, 將附加檔放在小節中, 將小節字型大小調至最小, 字型顏色調成白色

Image:在Notes郵件裡建立按鈕, 自動打開附加檔

在button上面按右鍵, 點選編輯按鈕
選擇用戶端, 及LotusScript (如下圖)
Image:在Notes郵件裡建立按鈕, 自動打開附加檔

將下面程式複製到按鈕程式中, 並修改程式中FILE_NAME所指向的檔名.   接下來, 就把信寄出去就行了
當然, 不止是可以打開PDF, IT部門也可以把一些欲派送的小程式, 利用這個按鈕, 讓使用者按下按鈕, 及執行某特定程式

Sub Click(Source As Button)
       Dim doc As NotesDocument
       Dim uidoc As NotesUIDocument
       Dim w As New NotesUIWorkspace
       Dim rtitem As Variant
       

       ' Launches imagefile referenced in document, using MS-DOS _START_ command.
       Set wsh = CreateObject("WScript.Shell")
       
       ' 取得Windows暫存目錄
       TempPath = wsh.ExpandEnvironmentStrings("%temp%")
       
       ' 要打開或要執行的檔名
       Const FILE_NAME = "abc.pdf"
       
       ' set START command depending on OS version
       

       Set uidoc = w.CurrentDocument
       Set doc = uidoc.Document
       Set rtitem = doc.GetFirstItem( "Body" )
       
       
       If ( rtitem.Type = RICHTEXT ) Then
               Forall o In rtitem.EmbeddedObjects
                       If ( o.Type = EMBED_ATTACHMENT ) Then
                               If o.source=FILE_NAME Then
                                       Call o.ExtractFile( TempPath & "\" & o.Source )
                               End If        
                       End If
               End Forall
       End If                

       cmd = "start"
       platform = Evaluate( "@platform([specific])" )
       If platform(0) = "Windows/NT" Then cmd = "cmd /c " + cmd + " " + Chr$(34) + Chr$(34)
       cmd = cmd + " "
'        若要在執行檔後面加參數, 請修改下面這行程式
       filePath = Chr$(34) +TempPath & "\" & FILE_NAME + Chr$(34)
'        Print "Opening " & FILE_NAME
       x = Shell( cmd + filePath, 2 )
'        Print
End Sub
Comments

1Anny Tang  2009/5/9 12:14:22 AM  想請教您一個問題

Dear Cory,

您好!

目前遇到關於日曆中"顯示警示訊息方塊"的問題。

如果新增一個備忘,且設定好"通知我"得時間,填好主旨後

若再去修改主旨,警示訊息方塊alert出的為舊得主旨!!

請問您遇過類似問題以及解決方式嗎?

謝謝!

2Deter  2009/6/24 11:10:13 AM  想請教您一個Excel 透過 Notes送信件的問題

Excel本來有一個傳送到電子郵件的功能, 但因為我們使用Notes Client, 沒安裝Outlook. 從Notes的Help說要安裝Outlook才有辦法透過MAPI轉到Notes, 請問是非要安裝Outlook沒有別的辦法嗎?

3Mark  2009/8/19 01:00:01 PM  在Notes郵件裡建立按鈕, 自動打開附加檔

在Client端不能下拉LotusScript ...(此處為灰色)

要更改那此設定? Acl為編輯者、設計者、管理者好像也不可新增?

由可以設定者傳來的"按鈕"可複製編輯,但自行不能新增。

但有安裝Designer可以,但Designer不是每個Client都有安裝(版權問題)

4Anonymous  2009/8/21 10:09:14 AM  在Notes郵件裡不能建立"自動打開附加檔按鈕"

本公司nd6.54每個USER的mailbox ACL為"編輯者",即使copy到本區ACL改為"管理者",也是不能下拉編輯"按鈕"...所以無法下拉點選"選擇用戶端, 及LotusScript "。請教有何方法可以變更為可以使用選擇LotusScript ?