我正在尝试从Word文档中的形状内部获取文本。我正在使用超级简单的代码对其进行测试:
Sub textgrab()
MsgBox ActiveDocument.Shapes("Rectangle 85").TextFrame.TextRange.Text
End Sub
除了我一直收到错误:
Run-time error '-2147024809 (80070057)':
The item with the specified name wasn't found.
我无法弄清楚为什么会出现此错误,因为当我进入Word文档并转到顶部菜单时,单击“形状格式”选项卡,然后在“排列”部分中,选择“选择窗格” ,并获得所有形状的完整列表,“ Rectangle 85”在那里,当我选择它时,它会高亮显示我试图从中获取值的相应框。
可能值得注意的是,这是我用文字打开的pdf。我正在尝试自动化一个过程,该过程将打开pdf发票,获取总金额,然后将其提取到excel中。
在解决此问题方面的任何帮助将不胜感激。
答案 0 :(得分:1)
为那些后来发现这一问题的人提供了解决方案。我使用了以下内容:
ActiveDocument.ActiveWindow.Panes(1).Pages(1).Rectangles.Item(i).Range
答案 1 :(得分:0)
Word只能从图形对象中提取文本。例如,它们从Insert/Shapes
插入UI中。 Shape.TextFrame.TextRange
没有OCR功能,因此不能用于将文本“嵌入”到其他类型的图形对象中,例如嵌入式PDF文件或JPG或任何类似的东西。
如果不确定某个特定的Shape
是否支持阅读或书写文本,请在UI中右键单击该文本,然后查看菜单选项Add Text
或Edit Text
是否可用。