Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Версия Excel


Автор: AHgpeu 13.6.2007, 16:02
На машине стоит Office 2003 и 2007
Для сохранения документа использую
Код

aFilePath := SaveDialog.FileName;
E.ActiveWorkbook.SaveAs(aFilePath);

Для того чтобы можно было выбирать в какой версии сохранить документ в SaveDialog добавил 2 фильтра: *.xls *.xlsx 
Но что бы ни выбирал пользователь все равно сохраняет в 2007 (*.xlsx )
После удаления 2007-стал сохранять в 2003 (*.xls)
Как осущесвить НОРМАЛЬНЫЙ выбор нужной версии для сохранения?*

Автор: Albinos_x 31.7.2007, 08:39
procedure SaveAs(FileName:OleVariant; FileFormat:OleVariant; Password:OleVariant ; 
                              WriteResPassword:OleVariant; ReadOnlyRecomended:OleVariant; 
                              CreateBackUp:OleVariant; AccesMode:XLSaveAsAccessMode; 
                              ConflictResolution:OleVariant;AddtoMru:OleVariant; 
                               TextCodePage:OleVariant; TextVisualLayout:OleVariant; 
                               Local:OleVariant;lcid:Integer)

FileName -  Имя файла в котором сохраняется книга, если имя и путь не указан, то книга сохранятся в текущем каталоге. (String)
FileFormat - формат файла (Integer)
- xlAddIn = 18 (&H12)
- xlCSV = 6
- xlCSVMac = 22  (&H16)
- xlCSVMSDOS = 24  (&H18)
- xlCSVWindows = 23 (&H17)
- xlCurrentPlatformText = -4158 (&HFFFFEFC2)
- xlDBF2 = 7
- xlDBF3 = 8
- xlDBF4 = 11
- xlDIF = 9
- xlExcel2 = 16 (&H10)
- xlExcel2FarEast = 27 (&H1B)
- xlExcel3 = 29 (&H1D)
- xlExcel4 = 33 (&H21)
- xlExcel4Workbook = 35 (&H23)
- xlExcel5 = 39 (&H27)
- xlExcel7 = 39 (&H27)
- xlExcel9795 = 43 (&H2B)
- xlHtml = 44 (&H2C)
- xlIntlAddIn = 26 (&H1A)
- xlIntlMacro = 25 (&H19)
- xlSYLK = 2
- xlTemplate = 17 (&H11)
- xlTextMac = 19 (&H13)
- xlTextMSDOS = 21 (&H15)
- xlTextPrinter = 36 (&H24)
- xlTextWindows = 20 (&H14)
- xlUnicodeText = 42 (&H2A)
- xlWebArchive = 45 (&H2D)
- xlWJ2WD1 = 14
- xlWJ3 = 40 (&H28)
- xlWJ3FJ3 = 41 (&H29)
- xlWK1 = 5
- xlWK1ALL = 31 (&H1F)
- xlWK1FMT = 30 (&H1E)
- xlWK3 = 15
- xlWK3FM3 = 32 (&H20)
- xlWK4 = 38 (&H26)
- xlWKS = 4
- xlWorkbookNormal = -4143 (&HFFFFEFD1)
- xlWorks2FarEast = 28 (&H1C)
- xlWQ1 = 34 (&H22)
- xlXMLSpreadsheet = 46 (&H2E)
Password - Пароль для открытия файла (String)
WriteResPassword - Пароль для изменения файла (String)
ReadOnlyRecomended - рекомендовать доступ только для чтения. (Boolean)
CreateBackUp - всегда создать резервный копию (Boolean)
ConflictResolution - способ разрешения конфликтов между пользователями
AddtoMRU - добавить файл в список недавно использованных (Boolean)
AccesMode - режим доступа к файлу и может принимать значения:
- xlNoChange - не изменять ранее установленный режим
- xlExclusive - исключительный доступ пользователя к файлу. При этом если файл был в это время открыт другим пользователем, то ему будет предложено сохраниться под другим именем.
- xlShared - свободный доступ


в твоём случае думаю следует попробовать - xlExcel9795

Автор: GhoulZEA 26.5.2012, 07:30
Немного дополню:

FileFormat - формат файла (Integer)

- xlOpenXMLWorkbook (without macro's in 2007, xlsx) =51
- xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007, xlsm) =52
- xlExcel12 (Excel Binary Workbook in 2007 with or without macro’s, xlsb) =50
- xlExcel8 (97-2003 format in Excel 2007, xls) =56

А то в старом офисе ограничения по числу столбцов/строк.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)