访问 Excel 个 TextToColumns 的 Word 宏

Word Macro accessing Excel TextToColumns

我有一个 Word 宏,可以对一些文本进行排序,然后打开 Excel 并将其粘贴到列中的连续单元格中。这部分工作正常。然后我想使用 TextToColumns 在每个制表符处拆分单元格内容,但无法正常工作。

如果我运行这个:

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add
'a section to insert the data from Word
objWorkbook.Worksheet(1).Range("A:A").Select
objWorkbook.Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Tab:=True

我收到一条错误消息,指出最后一行未找到对象或方法。我尝试了一些不同的编辑,要么给出相同的错误,要么没有给出错误但实际上没有拆分文本!

任何建议表示赞赏。提前致谢。

  1. Range("A1")需要指定在哪个工作簿和工作表中
  2. xlDelimited 在 Word 中不存在,仅在 Excel 中存在。因此您需要定义它或使用 1 代替。
  3. 避免使用 .Select

以下应该有效:

Const xlDelimited As Long = 1

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add
'a section to insert the data from Word
objWorkbook.Worksheet(1).Range("A:A").TextToColumns Destination:=objWorkbook.Worksheet(1).Range("A1"), DataType:=xlDelimited, Tab:=True

请注意,您现在 运行 TextToColumns 在空白工作表上。所以你应该先粘贴你的数据。