从 word 中提取段落到 excel
Extract paragraphs from word to excel
我正在尝试将特定段落从 word 中提取到 excel。关于“.Text”部分,我的代码有一个错误:“找不到方法或数据”。知道为什么吗?谢谢!
Sub extract()
Dim p As Object
Dim xl
Dim wb, ws, xlr
Dim a As Variant
Dim b As Variant
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Worksheets(1)
i = 1
j = 1
c = 1
For Each p In ActiveDocument.Paragraphs
If Len(p) > 200 Then
Set xlr = ws.Range("b" & i)
ActiveDocument.Paragraphs(j).Range.Copy
xlr.Value = ActiveDocument.Range.Paragraphs(j).Text
Set xlr = ws.Range("a" & i)
c = j - 1
If c > 1 Then
ActiveDocument.Paragraphs(c).Range.Copy
xlr.Value = ActiveDocument.Range.Paragraphs(c).Text
End If
ws.Range("c" & i) = Date
i = i + 1
End If
j = j + 1
Next
End Sub
确保在工具|下选项 |你有编辑器
“Require Variable Declaration”选中,如下所示。这将
自动将 Option Explicit
放在每个新模块的顶部
你创建并将阻止你创建变量而不
先声明它们。
所有变量必须以Dim name As DataType
的形式声明,
否则它们默认为 Variant
的数据类型
在同一行声明的变量必须分别指定一个数据类型,即 Dim wb As Object, ws As Object, xlr As Object
。任何没有数据类型的都将默认为 Variant
的数据类型
.Text
抛出错误,因为 Range
在错误的位置。应该是ActiveDocument.Paragraphs(j).Range.Text
。这是 Intellisense 会在您键入时向您显示的内容。
跨 Office 应用程序编码时使用工具 |添加相关库并避免使用 Object
(又名后期绑定)的引用。这将有助于确保数据类型正确并使您的编码更容易。当您只使用 Office 库时,后期绑定没有任何优势。
我正在尝试将特定段落从 word 中提取到 excel。关于“.Text”部分,我的代码有一个错误:“找不到方法或数据”。知道为什么吗?谢谢!
Sub extract()
Dim p As Object
Dim xl
Dim wb, ws, xlr
Dim a As Variant
Dim b As Variant
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Add
Set ws = wb.Worksheets(1)
i = 1
j = 1
c = 1
For Each p In ActiveDocument.Paragraphs
If Len(p) > 200 Then
Set xlr = ws.Range("b" & i)
ActiveDocument.Paragraphs(j).Range.Copy
xlr.Value = ActiveDocument.Range.Paragraphs(j).Text
Set xlr = ws.Range("a" & i)
c = j - 1
If c > 1 Then
ActiveDocument.Paragraphs(c).Range.Copy
xlr.Value = ActiveDocument.Range.Paragraphs(c).Text
End If
ws.Range("c" & i) = Date
i = i + 1
End If
j = j + 1
Next
End Sub
确保在工具|下选项 |你有编辑器 “Require Variable Declaration”选中,如下所示。这将 自动将
Option Explicit
放在每个新模块的顶部 你创建并将阻止你创建变量而不 先声明它们。所有变量必须以
的数据类型Dim name As DataType
的形式声明, 否则它们默认为Variant
在同一行声明的变量必须分别指定一个数据类型,即
的数据类型Dim wb As Object, ws As Object, xlr As Object
。任何没有数据类型的都将默认为Variant
.Text
抛出错误,因为Range
在错误的位置。应该是ActiveDocument.Paragraphs(j).Range.Text
。这是 Intellisense 会在您键入时向您显示的内容。跨 Office 应用程序编码时使用工具 |添加相关库并避免使用
Object
(又名后期绑定)的引用。这将有助于确保数据类型正确并使您的编码更容易。当您只使用 Office 库时,后期绑定没有任何优势。