我想使用word宏来设置文档中形状的位置到书籍布局(见截图)。但我无法找到任何参考我需要为此设置的成员(可能是因为我的单词是德语,在宏中称为不同)。
有谁能告诉我如何在vba中设置形状的水平布局以预订布局?
[更新]以下是诀窍:
Shape.Left = -999994
Shape.LeftRelative = -999999
Shape.RelativeHorizontalPosition = wdRelativeHorizontalPositionMargin
答案 0 :(得分:2)
在最新版本的Word中,宏录制器对图形对象没有任何帮助。您可以做的下一件事是在对象浏览器(F2)中查看对象的可用属性。
如果图形对象具有"文本换行"格式化然后它属于Shapes集合,因此您需要查找的列表是Shape对象的列表。
在那里,您将找到属性RelativeHorizontalPosition,它接受WdRelativeHorizontalPosition枚举的成员。查看该列表有许多选项,其中没有一个选项有#34; book"在它。
所以下一步是插入并格式化具有所需定位的Shape。然后在立即窗口(Ctrl + G)中键入:
?ActiveDocument.Shapes(1).RelativeHorizontalPosition
然后按Enter键。这将打印一个与枚举成员列表对应的数字。
您还可以通过在立即窗口中分配它们来测试各种成员的效果:
ActiveDocument.Shapes(1).RelativeHorizontalPosition = wdRelativeHorizontalPositionOuterMarginArea
按Enter键。
您将看到的是,对话框中的每个选项都没有枚举成员。对话框中的各种定位选项对应于单个枚举成员。
对于您的具体问题,wdRelativeHorizontalPositionInnerMarginArea对应于您指定的对话框选项。
ActiveDocument.Shapes(1).RelativeHorizontalPosition = wdRelativeHorizontalPositionInnerMarginArea
除了上述内容之外,您还需要使用LeftRelative和Left属性。使用对话框后,在立即窗口中查看这些设置,然后使用它们,将图像放在奇数/偶数页上。如果它消失了 - 它会关闭页面的可见部分,您可以在阅读视图。简而言之,您需要使用NEGATIVE数字将图像锁定到边距或页面。正数位置绝对。