【发布时间】:2018-04-12 17:45:07
【问题描述】:
我有一份导入到 word 中的报告。它有字段(对于每个报告保持相同),每个字段在左侧各自的表格中对应于右侧的值(每个报告更改)。目标是将这些对应的值放在单行中以进行 excel。我遇到的问题是识别字段表,然后将光标向右移动并选择相应表中的值。现在我正在操作另一个脚本,它允许用户选择一个单元格,运行脚本,选择文件,找到字段表,选择右侧的表,将值复制到 Excel 中。由于软件如何导入 word,所有表格都是 1x1 单元格。
Sub GrabUsage()
Dim FName As String, FD As FileDialog
Dim WApp As Object, WDoc As Object, WDR As Object
Dim ExR As Range
Dim TableNo As Long
Set ExR = Selection ' current location in Excel Sheet
'let's select the WORD doc
Set FD = Application.FileDialog(msoFileDialogOpen)
FD.Show
If FD.SelectedItems.Count <> 0 Then
FName = FD.SelectedItems(1)
Else
Exit Sub
End If
' open Word application and load doc
Set WApp = CreateObject("Word.Application")
' WApp.Visible = True
Set WDoc = WApp.Documents.Open(FName)
TableNo = WDoc.tables.Count
' Find field table on left side
WApp.Selection.Find.Execute FindText:="Unique Furniture Produced"
' move cursor to corresponding value table on right side
WApp.Selection.Move Unit:=TableNo, Count:=1
' I need this part to select the tables value
'WApp.Selection.MoveRight Unit:=2, Count:=1, Extend:=1
' grab and put into excel
Set WDR = WApp.Selection
ExR(1, 1) = WDR ' place at Excel cursor
WDoc.Close
WApp.Quit
End Sub
在选定的 Excel 单元格中打印一个方形符号,而对于我正在使用的示例报告,它应该打印 2。我们希望保留生产的运行日志,并且能够使用 VBA 将导入的 word 报告中的数据提取到 excel 中,这将大有帮助。
【问题讨论】:
标签: excel vba ms-word extraction