excel - 访问 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
我收到一条错误消息,提示最后一行找不到对象或方法。我尝试了一些不同的编辑,它们要么给出相同的错误,要么没有给出错误但实际上并没有拆分文本!
任何建议表示赞赏。提前致谢。
解决方案
Range("A1")
需要指定在哪个工作簿和工作表中xlDelimited
在 Word 中不存在,而仅在 Excel 中存在。因此,您需要定义它或改用它1
。- 避免使用
.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
现在在一个空工作表上运行。所以你应该先粘贴你的数据。
推荐阅读
- ios - 我收到 npm run ios 命令错误
- swift - 使用 TKSmardCard 在 iOS13 上向 SIM 卡发送 APDU 命令
- reactjs - 确保 prop 是来自常量的值 - TS
- c++ - 如何过滤双向链表?
- c# - C# - 为什么 this.Close(); 不适合我吗?
- java - 回收站视图不显示任何数据
- pandas - 如何在数据框中添加变量而不是数字?
- amazon-product-api - 503 RequestThrottled : 亚马逊产品广告 API CartCreate
- ada - Ada - 提出了可访问性检查
- node.js - 如何在 VSCode 中启用 Node.js 代码自动补全?