【问题标题】:Working with multiple discontinuous selection使用多个不连续选择
【发布时间】:2016-02-17 06:40:33
【问题描述】:

我正在尝试通过多项选择来做某事。我想在每个选定的段落之前添加一些文本,但是当我选择多个不连续的段落时,如果我执行 Selection.Paragraphs.Count 我总是得到“1”。

我怎样才能分开处理所有段落?

例子:

Paragraph1(Selected first)
Paragraph2
Paragraph3(Selected second)

当我尝试在这些段落的开头添加一些文本时得到的结果:

Paragraph1
Paragraph2
TEXTParagraph3

我真正想要得到的东西:

TEXTParagraph1
Paragraph2
TEXTParagraph3

我是这样工作的:

sub x()
  dim p as paragraph
  for each p in selection.paragraphs
    p.range.insertbefore("TEXT")
  next
End sub

【问题讨论】:

  • 老兄...您编辑的最后一句话...是礼貌的错误吗? XDDD

标签: vba ms-word multipleselection


【解决方案1】:

Word 根本无法执行您希望它执行的操作。自从 2003 年推出多项选择以来,开发人员一直希望这样做(我认为是,可能是 2007 版)。 Word 的对象模型根本不支持它。

如果这是您想提供给用户以使生活更轻松的东西,您需要为该工具提供一种标记段落的方法,以便您的代码可以识别它们。例如,您可以提供一个宏,为每个选择分配一个递增的书签名称(用户选择,然后运行您的宏;对每个段落重复)。然后,您的代码可以寻址每个书签并执行操作。为了使这更加用户友好,您可以将宏分配给键盘快捷键和/或功能区/QAT 中的按钮和/或右键菜单。

【讨论】:

    猜你喜欢
    • 2019-01-22
    • 2018-10-13
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2011-12-24
    • 2023-04-09
    • 2018-07-29
    相关资源
    最近更新 更多