我有一个单词文档,其中包含一些要填充的字段,以及一个我想要分配宏的按钮。单击该按钮时,需要将包含空白字段的相同表单附加到文档末尾,包括按钮(可以再次单击该按钮并执行相同操作)。
这是我的文件: https://drive.google.com/file/d/0B_2kyqxMx5x4UkxfOHJhOGVPdnc/view?usp=sharing
答案 0 :(得分:1)
您要做的主要问题是将按钮动态链接到要执行的宏代码。要使用的最明显的按钮类型是功能区开发人员选项卡中的旧版ActiveX控件。但是这需要在文档的ThisDocument
类模块中有自己的过程条目。虽然可以“动态”向模块添加代码,但这涉及禁用安全选项。
更直接的方法是使用MacroButton
字段。这将在文档中创建可单击的文本。它可以显示文本或图形(使其看起来像一个按钮),并被赋予任何不带参数的公共Sub的名称:
{ MACROBUTTON NameOfMacro Click here }
Ctrl + F9插入字段代码括号; Alt + F9在字段代码和字段结果之间切换。
Word 2010及更高版本中的图形:*这是对Word 2010中图形引擎的更改,它会影响MacroButton字段中图形对象的行为。单击该对象会触发Ribbon实用程序以处理图形 - 字段代码不再“隐藏”图形。您可以通过多种方式解决此问题:
使用IncludePicture字段(使用旧图形格式)引入外部图片文件。一旦链接的图片在场中,可以通过选择IncludePicture字段并按Ctrl + Shift + F9将其转换为静态图片。 Word尊重旧图形格式,图片可点击。
{MacroButton NameOfMacro {IncludePicture“C:\\ Path \\ picture.jpg”}}
使用旧的* .doc文件格式。请注意,这将限制文档可以执行的一些操作,但它会强制使用旧的图形引擎。
*除了取消链接IncludePicture字段(我自己发现)之外,此信息来自this discussion on the Microsoft Answers site
如果要使用单个而不是双击(默认)运行宏,则需要运行以下代码行。这适用于整个Word应用程序,需要在每次Word重新启动时运行。您可以将其放在文档中模板/ AutoNew
宏中的AutoOpen
宏中:
Application.Options.ButtonFieldClicks = 1
存储要重复插入的整个内容的最简单方法是构建块(以前称为自动图文集)。
BuildingBlocks存储在模板中。如果您的文档是从模板创建的,那将是合乎逻辑的地方。另一种可能性是您用于此目的的特殊模板。也可以使用Normal.dotm,但请记住,有时会删除它。
(注意:如果您使用的文档模板也是存储附加到宏按钮的宏的最佳位置。)
设置完成后,您需要做的就是在文档的末尾插入BuidlingBlock。