howto vba OpenText不parsing

我只想把每一行文本放到第一列的单元格中。 无论我设置设置,OpenTextparsing它。 尝试几乎所有的东西,(给它的DataType:= xlDelimited和其他:= True和OtherChar:=“$”没有帮助仍然parsing文本,并将其放在每行的各个单元格。

使用打开文件#1input不适用于我,因为它不会逐行读取,并将整个文件放入一个string中。 (unix源码)。

我能做什么。


编辑:作为一个方面的评论:我结束了使用FSO纠正我需要从每一行希伯来语与下面的代码:

Public Function CorrectHebrew(ByVal gibberish As String) As String Dim inStream As ADODB.stream Set inStream = New ADODB.stream inStream.Open inStream.Charset = "WIndows-1255" inStream.WriteText gibberish inStream.Position = 0 inStream.Charset = "UTF-8" CorrectHebrew = inStream.ReadText inStream.Close End Function 

Excel会记住“文本到列”(也适用于OpenText )的设置。 如果您没有明确设置所有参数,则Excel将使用最近使用的参数。

尝试提供所有参数的值(macroslogging器应该为你做)。

说我们:

  1. 一次读取一个字符的文件 – 变成一个非常大的string
  2. 用ASCII-10replace任何ASCII-13
  3. 用一个ASCII-10replace两个顺序的ASCII-10
  4. parsing并存储结果

 Sub OneCharacterAtATime() Dim s As String Close #1 Open "C:\TestFolder\Inputs.txt" For Input As #1 Len = 1 Do Until EOF(1) s = s & Input(1, #1) Loop Close #1 s = Replace(s, Chr(13), Chr(10)) s = Replace(s, Chr(10) & Chr(10), Chr(10)) ary = Split(s, Chr(10)) i = 1 For Each a In ary Cells(i, 1).Value = a i = i + 1 Next a End Sub 

这应该适用于任何types的换行符组合。