2010-11-18 2 views
3

Excel 2007부터는 FileFormat 인수를 Workbook.SaveAs 명령에 제공하는 것이 좋습니다.이 인수는 .xls 파일 이름을 지정했지만 FileFormat 인수가 없어도 파일이 손상되어 Excel 2003에서 읽을 수 없으면 새로 저장 한 파일은 ActiveWorkbook (2007)이됩니다. 4143 엑셀 2003의 경우와 같은 너무 56 엑셀 2007 - :Excel에서 SaveAs FileFormat 인수가 버전에 관계 없음

If Val(Application.Version) < 12 Then 
    ' You use Excel 97-2003 
    FileExtStr = ".xls": FileFormatNum = -4143 
Else 
    ' you use excel 2007 or later 
    FileExtStr = ".xls": FileFormatNum = 56 
End If 

엑셀 2003 호환되는 형식을 저장하기 위해,이 다음 FileFormat 값을 사용하는 것이 좋습니다 그러나 나는 실행 클라이언트가 Excel 2003 또는 2007이고 잘 작동하는지 상관없이 -4143을 사용해 보았습니다. 이 경우 누구나 확인할 수 있습니까?

자료 : Use VBA SaveAs in Excel 2007-2010

답변

0

나는 명시 적 이진 .XLS 문서를 얻으려면 (56)과 동일 xlFileFormat.xlExcel8을 사용하는 것이 좋습니다 것입니다.

1

Excel 2003을 사용하여 2003 형식 파일을 저장하는 경우 기본값은 어쨌든 2003 형식을 저장하기 때문에 파일 형식을 지정할 필요가 없습니다. 질문의 Application.Version 코드는 정상적으로 작동하지만 FileFormat을 지정할 필요가 없습니다.

2003 년에 2007 문서 변환기를 사용하지 않는 한 2003 년 카드가 어떻게 재생 될지 모르지만 별도로 지정하지 않으면 기본 (56)을 선택합니다.

NB : 2003 년 xlFileFormat.xlExcel8을 위에 명시된대로 지정할 수 없으므로 별 도움이되지 않습니다.