首页 > 解决方案 > 访问 Excel TextToColumns 的 Word 宏

问题描述

我有一个 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

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

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

标签: excelvbams-word

解决方案


  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现在在一个空工作表上运行。所以你应该先粘贴你的数据。


推荐阅读