Vba 格式化约会正文

Vba 格式化约会正文,vba,outlook,Vba,Outlook,我正在尝试从Excel自动安排会议。 这很简单,除非您试图格式化正文。 我对GetInspector做了一些研究。 看起来我必须从另一个地方复制文本,但我发现的命令不正确或不起作用。甚至尝试将其格式化为RTF,但.RTFBody不是AppointmentItem对象的属性 查找我的代码: Dim oApp As Object Dim oMail As Object Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.C

我正在尝试从Excel自动安排会议。
这很简单,除非您试图格式化正文。
我对GetInspector做了一些研究。
看起来我必须从另一个地方复制文本,但我发现的命令不正确或不起作用。甚至尝试将其格式化为RTF,但.RTFBody不是AppointmentItem对象的属性

查找我的代码:

Dim oApp As Object
Dim oMail As Object

Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(1)

With oMail
    .Subject = ""
    .Location = ""
    '.Start =
    '.Duration =
    .body = " < not formattable text >"
    .display
End With

Set oApp = Nothing
Set oMail = Nothing
Dim oApp作为对象
将oMail作为对象
设置oApp=CreateObject(“Outlook.Application”)
设置oMail=oApp.CreateItem(1)
与奥马尔
.Subject=“”
.Location=“”
”“开始吧=
’持续时间=
.body=“”
.展示
以
设置oApp=Nothing
设置oMail=Nothing

我曾经问过这个问题,在这里得到了答案()

尝试以下方法。您需要设置对Word对象模型的引用,格式化文本应存储在剪贴板中,注意,您必须在
.body
行之前有
.display
行,才能使用以下内容:

Dim oApp As Object
Dim oMail As Object

Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(1)

With oMail
    .Subject = ""
    .Location = ""
    '.Start =
    '.Duration =
    ' .body = " < not formattable text >"
    .display
End With

Dim objItem As Object
Dim objInsp As Outlook.Inspector
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSel As Word.Selection

Set objItem = oMail ' Application.ActiveInspector.currentItem
Set objInsp = objItem.GetInspector
Set objDoc = objInsp.WordEditor
Set objWord = objDoc.Application
Set objSel = objWord.Selection

objSel.PasteAndFormat (wdFormatOriginalFormatting)
'objSel.PasteAndFormat (Word.WdRecoveryType.wdFormatOriginalFormatting)

Set objItem = Nothing
Set objInsp = Nothing
Set objDoc = Nothing
Set objWord = Nothing
Set objSel = Nothing

Set oApp = Nothing
Set oMail = Nothing
Dim oApp作为对象
将oMail作为对象
设置oApp=CreateObject(“Outlook.Application”)
设置oMail=oApp.CreateItem(1)
与奥马尔
.Subject=“”
.Location=“”
”“开始吧=
’持续时间=
'.body=“”
.展示
以
作为对象的Dim objItem
将对象设置为Outlook.Inspector
Dim objWord作为Word.Application
Dim objDoc作为Word.Document
将对象设置为单词。选择
设置objItem=oMail'Application.ActiveInspector.currentItem
设置objInsp=objItem.GetInspector
设置objDoc=objInsp.WordEditor
设置objWord=objDoc.Application
设置objSel=objWord.Selection
objSel.PasteAndFormat(WDFormat原始格式)
'objSel.PasteAndFormat(Word.WdRecoveryType.WDFormatOriginalFormat)
设置objItem=Nothing
设置objInsp=Nothing
设置objDoc=Nothing
设置objWord=Nothing
Set objSel=Nothing
设置oApp=Nothing
设置oMail=Nothing