excel - 使用 Documents.Open 的宏不返回文档,而是返回字符串。
问题描述
我想从 Excel 宏中打开和阅读 Word 文档的段落。这是让我感到困惑的示例代码:
Sub example()
Dim docPath
docPath = "C:\temp\test.docx"
Dim wordApp
Set wordApp = CreateObject("Word.Application")
Dim doc
doc = wordApp.Documents.Open(docPath)
MsgBox (TypeName(doc)) 'This line displays String. According to the documentation it should be a Document.
End Sub
根据文档, Documents.Open 方法应该返回一个可以操作的 Document。但是当我检查它的类型时,它说它返回了一个字符串。显然我不能遍历字符串的段落:
https://msdn.microsoft.com/en-us/vba/word-vba/articles/documents-open-method-word
文档有错吗?难道我做错了什么?更重要的是,如何从 Excel 宏中遍历 Word 文档的段落?
如果这很重要,我正在使用 Office 365,并且我在 C:\temp\test.docx 创建了一个小的 Word 文档。
解决方案
尝试:
Set doc = wordApp.Documents.Open(docPath)
String
你得到的是你创建的对象的一些属性;可能是Name
Object........插入MsgBox doc
以查看它是什么。
推荐阅读
- azure - 带有流量管理器的 Azure Site Recovery
- php - 将 php 变量保存为 sql 的 null
- azure-devops - 使用 VSTS vNext 版本调用控制台应用程序并使其保持运行的最佳方式
- linux - 删除 bash 中另一个文件中存在的内容
- c - 命令由信号 11 终止
- logging - Logstash Docker 镜像配置
- ms-access - 获得更有用/更准确的错误消息
- node.js - 如何设置默认节点版本?重启服务器后
- python - 对几列进行分组,然后在 Pandas 中聚合一组列(与 R 的 data.table 相比,它崩溃得很厉害)
- python - 识别数据集中的模式