2012-09-20 1 views
1

아래 VBScript 코드 조각을 사용하여 매시간 .csv 드롭을 Excel 파일로 이동했습니다. 그것은 .csv가 65536 행 한계를 넘은 것을 제외하고는 시계처럼 작동합니다. 컴퓨터에 Compatibility Checker의 팝업 창이 뜹니다. Excel 2007이 설치되어 있어도 Excel 2003을 사용하고 있다는 것을 깨달았습니다. 이런 이유는 확실하지 않음에도 Excel.Application.12 개체를 명시 적으로 호출 될 때 :이 스크립트는 65536 호환성 검사 프롬프트없이 엑셀 2007으로 가져올 수보다 행이 더 큰 계산 당기 어떻게해야합니까큰 .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 

을 모든 소스 행을 보존하면서?

몇 가지 추가 정보 :

  1. 브랜드의 새로운 기계
  2. 실행 윈도우 7 64 비트 OS
  3. 설치된 Office의 한 버전이있다 : 오피스 2007
+0

추가 정보가 추가되었습니다. 다중 버전이 아니며 Office 2007 만 설치됨 – G33kKahuna

+0

문제 없습니다. 기본적으로 .xlsx 확장명을 사용하거나 사용하지 않고 시도했습니다. 어느 누구도 도움이되지 않았습니다. – G33kKahuna

+0

Word 대신 주사위없이 Excel에 키를 추가했습니다. 이건 너트 야! :) – G33kKahuna

답변

0

시도가로 fileformat:=51 추가는 Ron de Bruin로 문의하십시오.

다음은 질문에 OP에 의해 편집에서 추출 : 변화 아래

파일 확장자가 .XLSX 있는지 확인하십시오, 또한

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  

! :을했다.

+1

당신의 고집에 감사드립니다. 나는 SaveAs를 outputFile, 51로 바꾸었고 효과가있었습니다! – G33kKahuna

관련 문제