将包含换行符的文本文件导入excel

时间:2008-12-04 12:17:35

标签: excel vba

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

"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似乎只允许更改字段分隔符,而不是行分隔符。 / p>

任何指针?

谢谢,

最大 Excel的开放

4 个答案:

答案 0 :(得分:5)

看起来我自己就找到了解决方案。我需要将初始文件保存为“.csv”。 Excel使用CSV文件正确表达换行符。通过AppleScript打开那些也可以。

再次感谢那些回复的人。

最高

答案 1 :(得分:1)

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

答案 2 :(得分:1)

如果您的文件具有由列表分隔符分隔的列(逗号,但对于某些非英语区域设置使用分号),请将其重命名为.csv并在Excel中将其打开。 如果您的文件具有由TAB分隔的列,请将其重命名为.tab并在Excel中将其打开。 导入(而不是打开)csv或tab文件似乎不理解文本分隔符之间的换行符。 : - (

答案 3 :(得分:0)

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

如果你绝对必须编写脚本,Excel实际上只使用这两个字符中的一个(cr,lf)作为行分隔符,但我不确定哪个。首先尝试使用外部工具剥离lf(留下cr),然后导入它...如果不起作用,去除cr(留下lf)然后导入它。