2009-12-01

轉譯 Body 欄位內容為 "Pass-Thru HTML" 的代理程式 (Agent)

Lotus Domino / Notes 整合 TinyMCECKEditor ( FCKEditor ) 所產生的內容為 HTML 的原始碼,在經由 Lotus Domino Server 存檔後,這些 HTML 原始碼會被當作純文字存到 RichText 欄位去,所以,當在 Web 上存檔再打開文件時,就只會看到一堆 HTML 原始碼,要解決這個問題就需要將這些文字經由設定 Pass-Thru HTML 的屬性,讓 Lotus Domino Server 知道這些文字是要轉成 HTML 的才行。

以下是作轉譯的代理程式,要放在 WebQuerySave 時執行。

Sub Initialize

Dim session As New NotesSession

Dim doc As NotesDocument

Dim bodyRT As NotesRichTextItem

Dim htmlSTR As String

Dim PassThruHtmlStyle As NotesRichTextStyle

'取出傳回的 HTML 原始碼

Set doc = session.DocumentContext

Set bodyRT = doc.GetFirstItem( "Body" )

If ( bodyRT.Type = RICHTEXT ) Then

   htmlStr = bodyRT.GetUnformattedText


   '取除現有的 Body 欄位後,先移除再新增一個具有 Pass-Thru HTML 屬性的 Body 欄位

   Call doc.RemoveItem( "Body" )

   Set bodyRT = New NotesRichTextItem( doc, "Body" )

   Set PassThruHtmlStyle = session.CreateRichTextStyle

   PassThruHtmlStyle.PassThruHTML = True

   Call bodyRT.AppendStyle( PassThruHtmlStyle )

   Call bodyRT.AppendText( htmlStr )

End If

End Sub


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !