如何解决使用VBA在Outlook约会中创建超链接
我只是基于以下内容尝试从excel到Outlook中的约会添加格式化的值: HTMLBody Workaround For OlAppointment Object?
我收到以下错误:
“运行时错误'287':应用程序定义或对象定义的错误”
有人可以帮我吗?
如果可能的话,我还需要找到一种创建超链接的方法,使用一个单元格中的链接和希望在其他单元格中可见的文本。然后在约会中实现超链接。
代码如下:
Sub MakeApptWithRangeBody()
Dim olApp As Outlook.Application
Dim olApt As Outlook.AppointmentItem
Const wdPASTERTF As Long = 1
Set olApp = Outlook.Application
Set olApt = olApp.CreateItem(olAppointmentItem)
With olApt
.Start = Now + 1
.End = Now + 1.2
.Subject = "Test Appointment"
.Location = 18
'Sheet1.ListObjects(1).Range.Copy
ThisWorkbook.Worksheets("Sheet1").Range("D2").Copy
.Display
.GetInspector.WordEditor.Windows(1).Selection.PasteAndFormat wdPASTERTF
End With
End Sub
解决方法
我认为您收到此错误是由于Outlook中的安全设置,如果您使用的是正式的Outlook电子邮件帐户,则该设置通常由任何组织中的IT管理员控制
您可以在下面尝试
.Body = ThisWorkbook.Worksheets("Sheet1").Range("D2").Value
代替
ThisWorkbook.Worksheets("Sheet1").Range("D2").Copy
并删除下面的行
.GetInspector.WordEditor.Windows(1).Selection.PasteAndFormat wdPASTERTF
,
您还需要激活参考中的“ Microsoft Word对象库” 。 Outlook使用Word作为编辑器和这一行代码
.GetInspector.WordEditor.Windows(1).Selection.PasteAndFormat wdPASTERTF
正在使用Word VBA代码(在编辑器中)。因此,您不仅需要Word参考,还需要Outlook参考。
要创建超链接,您可以检查应该工作的Hyperlinks.Add method(未经测试):
With olApt
.Start = Now + 1
.End = Now + 1.2
.Subject = "Test Appointment"
.Location = 18
'Sheet1.ListObjects(1).Range.Copy
ThisWorkbook.Worksheets("Sheet1").Range("D2").Copy
.Display
Dim Sel As Object
Set Sel = .GetInspector.WordEditor.Windows(1).Selection
Sel.PasteAndFormat wdPASTERTF
Sel.Hyperlinks.Add Anchor:=Sel.Range,Address:="http:\\www.microsoft.com"
End With
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。