小编Baa*_*pta的帖子

使用自定义HTML代码替换Outlook下的文本选择的替代方法

我需要在使用自定义HTML代码编辑Outlook电子邮件时替换用户选择.

我尝试了两种方法:

使用剪贴板

  1. 在HTML模式下.
  2. Word.Range从中获取Word.Selection.
  3. 做一个range.Copy()把它放在剪贴板中
  4. 转换inputStringoutputString
  5. outputStringwith 替换选择range.PasteSpecial(...)

使用Open XML格式

  1. 在HTML模式下.
  2. Word.Range从中获取Word.Selection.
  3. 做一个range.Copy()把它放在剪贴板中.
  4. 转换inputStringoutputString(以Office Open XML格式,知道如何制作它以生成特定的HTML).
  5. outputStringwith 替换选择range.InsertXML(...)

问题是:

  1. 使用剪贴板时,它有时会崩溃.有关于检查剪贴板状态的参考,但我想我已经尝试了已知的替代方案.
  2. 要使用insertXML您需要安装Microsoft Word.insertXML单独安装Outlook 无法执行此操作.请看:没有Word 2007部署Outlook 2007的影响,以获取更多信息.

你知道更多的选择吗?我可以想到自己添加元素就像使用InsertParagraph,但我不确定我是否可以添加超链接或将遇到类似的问题.

vba word-vba outlook-vba outlook-addin

5
推荐指数
1
解决办法
939
查看次数

如何删除 Word.Selection?

在使用 Outlook.Inspector 中的 WordEditor 的 Outlook 加载项的上下文中,我想在将其替换为自定义文本后删除该选择。

例如,如果我选择某些内容,我可以将选择更改为自定义文本,如下所示:

Word.Selection sel = doc.Windows[1].Selection;
Word.Range range = sel.Range;

    if(sel.Text.Length == 0) {
        MessageBox.Show("No Text is selected");

        return;
    }

sel.Text = "New Text";
sel.Collapse();
Run Code Online (Sandbox Code Playgroud)

如果我再次调用这个函数,现在 sel.Text.Length 等于 1 而不是 0。

outlook vba vsto add-in ms-word

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

vba ×2

add-in ×1

ms-word ×1

outlook ×1

outlook-addin ×1

outlook-vba ×1

vsto ×1

word-vba ×1