1

以下の VBScript コード スニペットを使用して、1 時間ごとの .csv ドロップを Excel ファイルに移動しました。最近.csvが65536行の制限を超えたことを除いて、時計仕掛けのように機能します。マシンに互換性チェックのポップアップが殺到し、Excel 2007 がインストールされていても Excel 2003 を使用していることに気付きました。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 ビット OS の実行
  3. インストールされている Office のバージョンは 1 つだけです: 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 に答える