【问题标题】:VBA script to insert anchor position for autoshapes in Microsoft Word 2007在 Microsoft Word 2007 中插入自选图形的锚位置的 VBA 脚本
【发布时间】:2015-01-19 19:12:45
【问题描述】:

我超出了我幼儿园级别的 VBA 技能的限制,所以想问一下这里是否有人可以帮助我编写一个 VBA 脚本来帮助我逐步完成我的 Word 文档并调整所有自选图形的锚定位置文件。

我有一本 400 页的 Microsoft Word 书籍,在正文栏左侧的细栏中,每页上至少有一个,有时是几个边注(旁注)。这些旁注是指向正文中特定点的简洁“指针”,需要直接出现在该点的左侧。

每个旁注都有自己的自选图形(在该形状的文本框中)。作者以不一致的方式放置自选图形。大多数情况下,它们被锚定到页面上的某个位置。

但是,我需要重新分页。这将导致正文以不同的方式流动,我需要旁注与它一起流动(大约或完全)!

所以在我重新分页之前,我想确保将每个自选图形锚定到它所属的段落,而不是它当前所在的页面。

我不知道这是否可以自动完成,因为我不知道 Word 如何推断自选图形和段落之间的纯空间关系。

所以我猜我必须使用“半自动”流程。像这样的:

  • 按下按钮启动 VBA 脚本
  • 选择下一个自选图形
  • 提示用户在要放置锚点的正文文本中输入光标
  • 恢复宏
  • 将该自选图形的锚点放置在该位置
  • 将自选图形的垂直位置参数更改为“相对于段落” 和“0毫米”
  • (替代,不是 0 毫米,而是推导出的另一个值更多 准确定位自选图形)
  • 将自选图形的宽度参数更改为 一个特定的固定值 37 毫米(其中一些有点 绘制不准确)
  • 结束循环并返回开始
  • 选择下一个自选图形

希望这一切都可以理解。

我尝试录制一个 VBA 脚本来执行其中的一些操作,但不知道如何在用户提示中构建。

非常感谢任何帮助!

克雷格

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    您最好创建一个一次只作用于一个形状的宏,或者手动锚定所有形状(无论如何您几乎都在这样做),然后编写一个宏来处理您的各种参数和设置想要。

    如果您真的想在宏运行时提示用户,您需要查看无模式对话框(在 Mac 上不可能)。见此链接:http://www.bettersolutions.com/vba/VXV113/SE846743531.htm

    基本上,您必须创建自己的对话框,然后无模式地显示它,以便用户在点击 OK 之前仍然可以放置光标。如果您是 VBA 新手,这可能很难设置。

    【讨论】:

    • 谢谢,我会调查的。
    【解决方案2】:

    在寻找解决方案时,我在另一个论坛上发现了一个帖子,该帖子来自试图做非常相似的事情的人。他正在为使用 Word 的编辑器开发一套工具,在我找到最终解决方案之前,我正在使用他的“形状”工具,该工具允许我在单击时更改我选择的每个自选图形的参数,而不是打开和关闭对话框每次都选择框,每次都选择不同的选项卡...他的工具可以在his Editors' Toolkit website下载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-12
      • 2015-04-01
      • 2018-10-27
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多