VBA代码在Word 2010中停止工作

VBA代码在Word 2010中停止工作,vba,ms-word,Vba,Ms Word,我不知道为什么,但这段代码突然停止工作,我正在寻找帮助,找出原因 PictCount = ActiveDocument.Shapes.Count ' This always returns 0 PageCount = ActiveDocument.ActiveWindow.Panes(1).Pages.Count ' This gives the correct number 这是在一个页面上,已复制/粘贴了多张图片 当图片与文本内联时,它不会被视为形状。如果它漂浮在文本上方、下方或文本之

我不知道为什么,但这段代码突然停止工作,我正在寻找帮助,找出原因

PictCount = ActiveDocument.Shapes.Count  ' This always returns 0
PageCount = ActiveDocument.ActiveWindow.Panes(1).Pages.Count  ' This gives the correct number

这是在一个页面上,已复制/粘贴了多张图片

当图片与文本内联时,它不会被视为形状。如果它漂浮在文本上方、下方或文本之间,则它被视为一个形状。因此,右键单击图片,选择“换行文本”,然后选择“与文本内联”以外的任何其他选项,您应该会看到数字在增加

与之相对应的还有
InlineShapes
,它包含那些内联图片,而不是浮动图片。 所以,把它们加起来,就可以得到所有的图片

PictCount = ActiveDocument.Shapes.Count + ActiveDocument.InlineShapes.Count

好的,听起来不错。有没有办法使所有粘贴的图片默认为“与文本内联”以外的内容?在Word 2010(我相信也是2007)中,选择“文件”、“Word选项”和“高级”选项卡。在“剪切、复制和粘贴”部分,将“插入/粘贴图片为”更改为“与文本对齐”以外的内容。这将更改默认的粘贴行为。