一个文件夹中有两个文件,宏应该读取这两个文件并创建另一个文件,将两者合并。
只要文件格式为CSV格式,这样就可以正常工作。
问题是,如果文件格式更改为Excel,则会抛出“下标超出范围”错误。
当我使用代码ActiveWorkBook.FileFormat
检查文件格式时,在两种情况下(CSV和Excel),它给出的值为52,表示“这是一个Excel文件”。
我的问题:如何区分文件的格式?不知怎的,我必须使宏读取两个文件并创建组合文件,而不管文件格式如何。
行trimmed(i) = Trim(temparray(i - 1))
是发生错误的地方。
For Each curfile In fileList
ediType = fileType(curfolder + "\" + curfile)
Open (curfolder + "\" + curfile) For Input As #1
flag = True
Do Until EOF(1)
Line Input #1, linefromFile
temparray = Split(linefromFile, vbTab)
For i = 1 To UBound(trimmed)
trimmed(i) = Trim(temparray(i - 1))
Debug.Print "The value of variable X is: " & trimmed(i) & temparray(i - 1)
Next
答案 0 :(得分:0)
1.您可以使用文件扩展名.xls或.csv来区分文件 2.执行此操作后,您可以保存.xls文件.csv并使用相同的代码进行读取。 我不认为相同的代码可以用来读取.xls文件,你必须使用excel范围和单元格来读取