在Microsoft Word 2007中插入自选图形定位点的VBA脚本

在Microsoft Word 2007中插入自选图形定位点的VBA脚本,vba,ms-word,Vba,Ms Word,我已经超出了幼儿园水平VBA技能的极限,因此想问一下这里是否有人可以帮助我编写VBA脚本,帮助我逐步完成Word文档,并调整文档中所有自选图形的定位位置 我有一本400页的MicrosoftWord书籍,在正文文本列左侧的一个细列中,每页至少有一个,有时还有几个边缘(sidenote)。这些旁注是指向正文中特定点的简明“指针”,需要直接显示在该点的左侧 每个侧注都有自己的自选形状(在该形状的文本框中)。作者以一种不一致的方式放置了自选图形。大多数情况下,它们被定位到页面上的某个位置 然而,我需要

我已经超出了幼儿园水平VBA技能的极限,因此想问一下这里是否有人可以帮助我编写VBA脚本,帮助我逐步完成Word文档,并调整文档中所有自选图形的定位位置

我有一本400页的MicrosoftWord书籍,在正文文本列左侧的一个细列中,每页至少有一个,有时还有几个边缘(sidenote)。这些旁注是指向正文中特定点的简明“指针”,需要直接显示在该点的左侧

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

然而,我需要重新规划。这将导致正文以不同的方式流动,我需要旁注与之流动(大致或准确)

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

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

所以我猜我必须用一个“半自动”的过程来应付。大概是这样的:

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

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

非常感谢任何帮助


Craig

您最好创建一个宏,一次处理一个形状,或者手动锚定所有形状(您几乎都在这样做),然后编写一个宏来处理所需的各种参数和设置

如果您确实想在宏运行时提示用户,则需要查看无模式对话框(在Mac上不可能)。请参阅此链接:


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

在搜索解决方案时,我在另一个论坛上发现了一篇文章,其中有人试图做类似的事情。他用Word为编辑开发了一套工具,在我找到最终解决方案之前,我一直在使用他的“形状”工具,它允许我在每次单击时更改选择的每个自选图形的参数,而不是每次打开和关闭对话框,再加上每次选择不同的选项卡。。。他的工具可以在下载。

谢谢,我会调查的。