1

我一直在使用下面的 VBScript 代码片段将每小时的 .csv 文件拖放到 Excel 文件中。除了最近 .csv 超过了 65536 行限制之外,它的工作原理就像发条一样。这台机器充斥着来自兼容性检查器的弹出窗口,然后我意识到它正在使用 Excel 2003,即使安装了 Excel 2007。即使显式调用Excel.Application.12对象,也不确定为什么会发生这种情况:

Dim oExcel
Set oExcel = CreateObject("Excel.Application.12")
With oExcel
    .DefaultSaveFormat=51
    .Workbooks.Open sourceFile
    .Sheets(1).Columns("A").TextToColumns .Range("A1"), xlDelimited, , , , True
    .ActiveWorkbook.SaveAs outputFile, xlNormal
    .Quit
End With

如何使此脚本在没有兼容性检查器提示的情况下将大于 65536 的行数导入 Excel 2007,同时保留所有源行?

一些附加信息:

  1. 全新机
  2. 运行 Windows 7 x64 位操作系统
  3. 只安装了一个版本的 Office:Office 2007
4

1 回答 1

0

尝试按照Ron de Bruinfileformat:=51的建议添加。

以下摘自OP对问题的编辑:

以下更改有效!:

 Dim oExcel  
 Set oExcel = CreateObject("Excel.Application.12")  
 With oExcel  
    .DefaultSaveFormat=51  
    .Workbooks.Open sourceFile  
    .Sheets(1).Columns("A").TextToColumns .Range("A1"), xlDelimited, , , , True  
    .ActiveWorkbook.SaveAs outputFile, 51  
    .Quit  
 End With    

此外,请确保文件扩展名为 .xlsx。

于 2012-09-20T20:34:28.120 回答