vba 识别linux换行符,关于vba:将包含换行符的文本文件导入excel

我有一个纯文本文件,如下所示:

"some

text

containing

line

breaks"

我正在尝试将excel 2004 (Mac, v.11.5)正确地打开此文件。 我希望只能看到一个包含以上所有内容的单元格(A1)(不带引号)...

但唉,我无法实现,因为Excel似乎坚持使用CR作为行分隔符,即使我将文本限定符设置为双引号。 我有点希望Excel能够理解这些换行符是值的一部分 - 它们嵌入双引号中,这应该将它们限定为值的一部分。 所以我的Excel工作表有5行,这不是我想要的。

我也试过这个Applescript无济于事:

tell application"Microsoft Excel"

activate

open text file filename ?

"Users:maximiliantyrtania:Desktop:linebreaks" data type delimited ?

text qualifier text qualifier double quote ?

field info {{1, text format}} ?

origin Macintosh with tab

end tell

如果我可以告诉Excel使用除CR(或LF)以外的行分隔符,那么,我将是一个快乐的露营者,但excel似乎只允许更改字段分隔符,而不是行分隔符。

有指针吗?

谢谢,

马克斯

Excel是开放的

好像我自己找到了解决方案。我需要将初始文件保存为".csv"。 Excel使用CSV文件正确表达换行符。也可以通过applescript打开这些文件。

再次感谢那些回复的人。

马克斯

很高兴你找到了解决方案!

我知道这是一个坏处,但据我所知Excel的一个基本缺点,这可能是一个问题:以这种方式打开一个csv文件将导致仅包含数字但以0开头的单元格 截断前导0。要使excel尊重编写的文本(据我所知),唯一的方法是执行Data-> From File导入,这不允许换行。

如果您的文件具有由列表分隔符分隔的列(逗号,但对于某些非英语区域设置使用分号),请将其重命名为.csv并在Excel中将其打开。

如果您的文件具有由TAB分隔的列,请将其重命名为.tab并在Excel中将其打开。

导入(而不是打开)csv或tab文件似乎不理解文本分隔符之间的换行符。 :-(

另一种选择是创建一个宏来处理开放。打开文件进行输入,然后使用Range对象将文本读入工作表,根据需要进行解析。

谢谢,实际上是个好主意,但是我需要它也可以使用Excel 2008 Mac,而且不再支持vba了... Max

真? 嗯...回到绘图板上。 我会找到适合你的东西。

我只是看了一些AppleScript ......我希望不会很快这么做。

它只是一个档案吗?如果是这样,请不要导入它。只需将文本文件的内容复制粘贴到第一个单元格中(按f2键,然后粘贴)。

如果绝对必须编写脚本,Excel实际上仅使用这两个字符(cr,lf)之一作为行定界符,但是我不确定哪个。尝试首先使用外部实用程序剥离lf(保留cr),然后将其导入...如果不起作用,请剥离cr(保留lf),然后导入。

谢谢,但我需要CR才能进入细胞...

哎呀,只有现在才明白你的意思。 无论如何,csv文件对我有用......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值