【发布时间】:2021-07-27 13:07:19
【问题描述】:
我有一个 CSV,其中的数据用分号“;”分隔我想用 VBA 在 Excel 中打开它。 就我而言,这个 VBA 代码将由来自不同位置的用户运行,所以我想编写一个对本地设置不敏感的代码,并在任何地方产生相同的输出。
我尝试了几个代码,但都不起作用。看完文档后我不明白为什么。
Set wb = Workbooks.Open(str_Path, Format:=6, Delimiter:=";")Set wb = Workbooks.Open(str_Path, Format:=4)Workbooks.Open Filename:=str_Path, Format:=xlCSV, Delimiter:=";"Workbooks.OpenText str_Path, Semicolon:=True, DataType:=xlDelimitedWorkbooks.OpenText str_Path, Local:=True
根据所有这些说明,工作簿已打开,但数据未正确分离。
例如,这是一个结果,它似乎将行分隔在“,”而不是“;”上因为我的号码“1,2”被拆分了:
非常感谢您的任何想法! :-)
祝你有美好的一天, 最大
【问题讨论】:
-
如果文件是
.txt,解决方案 1 将有效,但对于.csv无效,不知道为什么。编辑:所有解决方案都适用于.txt,没有一个适用于.csv。 -
您应该使用 ADOStream。在这里你可以看到它是如何工作的stackoverflow.com/questions/67888283/… 如果需要,你可以在这里寻找其他字符集docs.microsoft.com/en-us/previous-versions/exchange-server/…
-
Related - 查看编辑。
-
在使用旧版导入向导导入时录制宏。 (或使用 Power Query)。
-
我不想导入我只需要打开一个 CSV 来修改它。当涉及到只读目的时,我已经在使用电源查询。