2012-09-20 63 views
1

我一直在使用下面的VBScript代碼片段將每小時的.csv文件拖放到Excel文件。它的工作原理與發條一樣,除了最近.csv越過了65536行的限制。該機器充滿了來自兼容性檢查器的彈出窗口,然後我意識到它正在使用Excel 2003,即使通過Excel 2007安裝。不知道爲什麼發生這種情況,即使Excel.Application.12對象被顯式調用:無法將大的.csv行計數傳輸到Excel 2007

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 64位操作系統
  3. 只有一個安裝的Office版本:Office 2007的
+0

剛剛添加了其他信息。不,它不是多版本,只安裝Office 2007 – G33kKahuna

+0

不是問題。那麼,我嘗試了和沒有默認格式和使用.xlsx擴展名。沒有幫助 – G33kKahuna

+0

在Excel下添加了鍵而不是Word,沒有骰子。這太瘋狂了! :) – G33kKahuna

回答

0

嘗試增加fileformat:=51爲建議由Ron de Bruin

從下面的編輯通過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。

+1

感謝您的持久。我將SaveAs更改爲outputFile,51並且它工作正常! – G33kKahuna