我试图通过VBA将Word表格转换为段落文本。我知道表的Convert to Text
选项,但这不起作用,因为我的Word文件是转换后的PDF文件,其中包含最终将通过Python脚本处理的图像。这些表在转换时没有可靠和一致地使用tab,para或其他任何东西。
我的代码如下:
Option Explicit
Sub ReWriteTableData()
Dim tb As Table
For Each tb In ThisDocument.Tables
tb.Select
With Selection
Dim rw As row, cl As Column
Dim i As Integer
.MoveUp Unit:=wdLine, Count:=1
For Each rw In tb.Rows
.EndKey Unit:=wdLine
.TypeParagraph
For i = 1 To tb.Columns.Count
Dim myText As String, myString As String
myString = rw.Cells(i).Range.Text
myString = Mid(myString, 1, Len(myString) - 1)
.TypeText Text:=myString & Chr(9)
Next
Next
End With
Next
End Sub
我被困的地方是.TypeText Text:=myString & Chr(9)
。
当它将文本打印到表格上方的行时,它将第2列放在新行上,如下所示:
我想要的是:
我知道图片稍微不完整,但循环不是我的问题,它将它们全部放在一行上。此外,我确信我的代码不是最有效的,所以很高兴有任何重构,使其更快,更容易,更好地维护。