vbTab \ Chr(9)在Word VBA中编写新行

时间:2017-12-13 06:41:25

标签: vba ms-word word-vba word-2010

我试图通过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列放在新行上,如下所示:

enter image description here

我想要的是:

enter image description here

我知道图片稍微不完整,但循环不是我的问题,它将它们全部放在一行上。此外,我确信我的代码不是最有效的,所以很高兴有任何重构,使其更快,更容易,更好地维护。

0 个答案:

没有答案