Имя: Пароль:
1C
1С v8
Как пересохранить из нового Excel в старый Excel ?
0 Koliaff
 
20.05.13
12:52
Есть файл с расширением  *.xlsx
Надо пересохранить его в формат 97-2003 средствами 1С.
Пробую так :

  Excel = Новый COMОбъект("Excel.Application");
  Книга = Excel.WorkBooks.Open(ИмяФайла+"x");
  Книга.SaveAs(ИмяФайла);
  Excel.Quit();
  Excel = Неопределено;

Но так не правильно, он сохраняет в новом формате, с расширением XLS. А мне надо кроме изменения расширения, чтобы сам формат файла поменялся. Как это сделвть ?
1 Барбариска
 
20.05.13
12:55
Книга.SaveAs(ИмяФайла,-4143);

так попробуй )
2 Koliaff
 
20.05.13
13:00
1С засисла ) после -4143
Что это за волшебные цифры ?
3 Koliaff
 
20.05.13
13:02
Там сообщение выдается что сохраняемый файл не совместим с Excel 97. Как программно нажать кнопку "продолжить" в окне сообщений Excel ?
4 Барбариска
 
20.05.13
13:04
Зависло - на предупреждении?
Может просто предупреждения отключить?

Цифры -4143 = значение екселевской константы
5 Лодырь
 
20.05.13
13:04
Если  Число(Excel.version) < 12 Тогда
// Excel это ComОбъект("Excel.application")

  FileFormatNum = -4143 // ага, загадочное число

Иначе
  FileFormatNum = 56 // ну что мешало сделать форматы стандартными?

КонецЕсли;
6 Барбариска
 
20.05.13
13:06
Выключить предупреждения так:

Excel.DisplayAlerts = 0

и потом не забыть на место вернуть)
7 Koliaff
 
20.05.13
13:12
БОЛЬШОЕ СПАСИБО ! Вопрос закрыт.
8 Барбариска
 
20.05.13
13:13
(5) -4143 в новых версиях тоже работает.
и проблема "сохраняемый файл не совместим с Excel 97" может быть и с -4143 и с 56
9 Лодырь
 
20.05.13
13:20
(8) Как показывает практика - не всегда работает ) Иначе бы не городил подобную конструкцию.
10 Барбариска
 
20.05.13
13:22
(9) ну.. буду знать ) спасибо ))