簡體   English   中英

超鏈接顯示為字符串。 Outlook 創建持有人的任務 email

[英]Hyperlink is showing as a STRING. Outlook Task for creating email holders

我已經嘗試了所有的運氣,但我仍然無法弄清楚為什么我的任務。身體沒有打印我想要的超鏈接。

我試過將它更改為 HTMLBody,將 bodyformat 更改為 2 以使其成為 HTML,嘗試以不同的方式格式化它,但我仍然得到相同的結果。

我嘗試使用 HTMLBody 但我得到“無法設置屬性 htmlbody”。

shortenedLink = f'<a href="https:/thelink{variable}">Hyperlink</a>' 

inviteItem.Body = shortenedLink
inviteItem.Save()
inviteItem.Display(true)

TaskItem object 不會像MailItem object 那樣公開HTMLBody屬性,即使 Outlook 完全能夠在 UI 中顯示 HTML。

你有幾個選擇:

  1. 改為設置TaksItem.RTFBody 它是一個二進制(數組)屬性,因此找出要設置的值的最佳方法是查看帶有 RTF 正文集的現有任務並將其用作模板。 在運行時,您可以替換占位符並在數組中插入您自己的 url 以分配給RTFBody屬性。 請注意,OOM 有一個錯誤會阻止使用后期綁定設置RTFBody屬性(就像您在 Python 或 VBA 中所做的那樣),只有通過TaskItem接口進行的早期綁定才有效。 您可以使用OutlookSpy (我是其作者)- select 查看現有任務的 RTF 正文或在 Outlook 中打開任務,單擊 IMessage 按鈕,select PR_RTF_COMPRESSED屬性。

  2. 如果使用Redemption是一個選項(我也是它的作者),它會公開RDOTaskItem.HTMLBody屬性。

TaskItem class 不提供HTMLBody屬性。 相反,如果您想在郵件正文中使用任何格式,則需要使用RTFBody 該屬性返回或設置一個Byte array ,該數組以 RTF 格式表示 Microsoft Outlook 項目的正文。

但是有一個技巧 - 要在任務正文中使用RTF標記,只需嘗試使用Body屬性即可。 將此屬性設置為包含RTF的字節數組將自動在正文中使用該 RTF。 具體來說,要獲得您想要的主體,您可以使用以下代碼:

task.Body = rb'{\rtf1{Here is the }{\field{\*\fldinst { HYPERLINK "https://www.python.org" }}{\fldrslt {link}}}{ I need}}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM