在Word中使用VBA转换表格

我正在尝试编写一个方法来转换使用Visual Basic和Excel对象模型的Word中的表。 但是,我无法使用复制的Word对象粘贴特殊,因为它不只是纯文本。

是否有可能强制转置的纯文本粘贴? 有一个更好的方法吗?

我目前的代码如下:

Public Sub transposeTable() Selection.Copy Dim oXlApp As New Excel.Application Dim oXlBook As Excel.Workbook Set oXlApp = CreateObject(Class:="Excel.Application") Set oXlBook = oXlApp.Workbooks.Add oXlBook.Sheets(1).Range("A1").Select oXlApp.ActiveCell.PasteSpecial Transpose:=True oXlBook.Sheets(1).Cells.SpecialCells(xlCellTypeConstants).Select oXlApp.Selection.Copy Selection.Paste End Sub 

我收到的错误是:

 Run-time error '1004': PasteSpecial method of Range class failed 

你尝试粘贴没有格式?

 oXlApp.ActiveCell.PasteSpecial Paste:=xlPasteValues, Transpose:=True 

我已经设法让它现在工作,使用中间粘贴步骤。

 Public Sub transposeTable() Selection.Cut Dim oXlApp As New Excel.Application Dim oXlBook As Excel.Workbook Set oXlApp = CreateObject(Class:="Excel.Application") Set oXlBook = oXlApp.Workbooks.Add oXlBook.Sheets(1).Range("A1").Select oXlApp.ActiveSheet.Paste oXlBook.Sheets(1).Cells.SpecialCells(xlCellTypeConstants).Select oXlApp.Selection.Copy oXlBook.Sheets(2).Select oXlBook.Sheets(2).Range("A1").Select oXlApp.ActiveCell.PasteSpecial Transpose:=True oXlBook.Sheets(2).Cells.SpecialCells(xlCellTypeConstants).Select oXlApp.Selection.Copy Selection.Paste oXlBook.Close (False) oXlApp.Quit End Sub