【发布时间】:2011-09-29 08:15:48
【问题描述】:
在使用自定义 HTML 代码编辑 Outlook 电子邮件时,我需要替换用户选择。
我尝试了两种方法:
使用剪贴板
- 在 HTML 模式下。
- 从
Word.Selection获取Word.Range。 - 执行
range.Copy()将其放入剪贴板 - 将
inputString转换为outputString - 用
outputString替换选择range.PasteSpecial(...)
使用 Open XML 格式
- 在 HTML 模式下。
- 从
Word.Selection获取Word.Range。 - 执行
range.Copy()将其放入剪贴板。 - 将
inputString转换为outputString(Office Open XML 格式,知道如何制作它以生成特定的 HTML)。 - 用
outputString替换选择range.InsertXML(...)
问题是:
- 使用剪贴板时有时会崩溃。有关于检查剪贴板状态的参考资料,但我想我已经尝试了已知的替代方法。
- 要使用
insertXML,您需要安装Microsoft Word。您无法在单独安装 Outlook 的情况下执行insertXML。请查看:Impact of deploying Outlook 2007 without Word 2007 了解更多信息。
你知道更多的选择吗?我可以考虑像使用InsertParagraph 一样自己添加元素,但我不确定是否可以添加超链接或会遇到类似问题。
【问题讨论】:
-
我对问题的范围感到困惑。什么是
Word.Range或者您只是说选择部分 Outlook 电子邮件进行格式化?您能否展示您当前的 VBA 以帮助我们推进这项工作? -
我的猜测是剪贴板由于延迟而崩溃,您是否尝试在复制和粘贴之间插入睡眠命令?
标签: vba outlook ms-word outlook-addin