我有大约200 MS Word文档(所有.doc格式)与我们的旧标志,需要批量更新(删除并替换为新标志).我首先用vb创建了一个宏,并得到:
ActiveDocument.Shapes("Picture 2").Select
Selection.ShapeRange.Delete
然后尝试在 Delphi 中将其转换为自动化:
WordApplication.ActiveDocument.Shapes('Picture 2').Select;
或
WordApplication.ActiveDocument.Shapes.Select := 'Picture 2';
然后
WordApplication.Selection.ShapeRange.Delete;
但是,我得到“Shapes is not a method”或“Select is not supported”错误。我做错了什么?
1条答案
按热度按时间xesrikrc1#
VB中的圆括号
()
可以表示函数调用参数,也可以表示数组索引。在
Shapes
(MSDN)的情况下,它是一个数组索引器,因此您必须索引Shapes集合([index]
或通过Item(index)
方法)。Select()
是Shape
* 对象 * 上的方法,而不是Shapes
* 集合对象 * 上的方法。