![]() |
![]() |
|
При сохранении файла Excel сохраняется все, кроме колонтитулов. | ☑ | ||
---|---|---|---|---|
0
quazzar
16.02.11
✎
09:55
|
Сохраняю отчет в файл эксель в указанном каталоге. Все данные отчета сохраняются, однако колонтитулы в полученном файле отсутствуют (при открытии в Excel). При отладке вплоть до момента
Книга.Close(); значения всех колонтитулов в Книга.ActiveSheet.PageSetup соответствуют заданным. Excel 2010, 1C 8.2.13 Текст процедуры Попытка Excel = Новый COMОбъект("Excel.Application"); Исключение Сообщить("ОШИБКА! Приложение MS Excel отутствует или недостаточно прав доступа! | - " + ОписаниеОшибки(), СтатусСообщения.ОченьВажное); Возврат; КонецПопытки; ТабДок.Записать(""+Путь+"" + ИмяФайла+".xls", ТипФайлаТабличногоДокумента.XLS); Excel.DisplayAlerts = 0; Книга = Excel.Workbooks.Open(""+Путь+"" + ИмяФайла+".xls",,1); ExcelЛист = Книга.Worksheets(1); ExcelЛист.PageSetup.Orientation = 2; ExcelЛист.PageSetup.Zoom = 60; Сообщить("Создается документ для "+ИмяФайла+""); ВсегоКолонок = ExcelЛист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = ExcelЛист.Cells(1,1).SpecialCells(11).Row; //заменим строки начинающиеся с "=" формулами Для НомерСтроки= 1 по ВсегоСтрок Цикл Для НомерКолонки= 1 по ВсегоКолонок Цикл Если Excel <> Null Тогда Попытка Значение=ExcelЛист.Cells(НомерСтроки,НомерКолонки).Value; Если Лев(Значение,1)="=" Тогда ExcelЛист.Cells(НомерСтроки,НомерКолонки).Formula = СтрЗаменить(Значение,Символ(160),""); КонецЕсли; Исключение КонецПопытки; КонецЕсли; КонецЦикла; КонецЦикла; Книга.ActiveSheet.PageSetup.LeftFooter="Левый нижний колонтитул"; Книга.ActiveSheet.PageSetup.CenterFooter="Центральный нижний колонтитул"; Книга.ActiveSheet.PageSetup.RightFooter="Правый нижний колонтитул"; Книга.ActiveSheet.PageSetup.LeftHeader="Левый верхний колонтитул"; Книга.ActiveSheet.PageSetup.CenterHeader="Центральный верхний колонтитул"; Книга.ActiveSheet.PageSetup.RightHeader="Правый верхний колонтитул"; Книга.Save(); Книга.Close(); Excel.Quit(); Excel = 0; |
|||
1
Axel2009
16.02.11
✎
09:58
|
(0) а пробовали открыть эксель файл где уже есть эти колонтитулы и посмотреть читаются ли они или нет?
|
|||
2
dk
16.02.11
✎
09:58
|
версия исходного или конечного файла какая?
excel 95 / 97 / 2007 / 2010? |
|||
3
quazzar
16.02.11
✎
10:01
|
(1) открыть в 1С?
(2) Лист Microsoft Excel 97-2003 (.xls). между 97 и 2003 разницы же нет? только 2007-й отличился |
|||
4
Axel2009
16.02.11
✎
10:02
|
да.
|
|||
5
quazzar
16.02.11
✎
10:11
|
(1) Открыл в 1С сохраненный файл, отсутствуют колонтитулы. Сделал так:
1)создал файл, открыл в экселе- колонтитулов нет. 2)создал в экселе колонтитулы, открыл в 1С. в отладчике Книга.ActiveSheet.PageSetup.RightHeader имеет значение "ыфарфоарф" 3) дошел до шага Книга.ActiveSheet.PageSetup.RightHeader="Правый верхний колонтитул" значение изменилось 4) Открыл эксель. колонтитул "ыфарфоарф". Т.е. данные из 1С в эксель не попали. Может колонтитулы нужно как то дополнительно сохранять? |
|||
6
quazzar
16.02.11
✎
10:14
|
Кто нибудь может протестировать на 2003 и 2010 Экселе? Может быть причина в версии офиса? У меня под рукой только 2010-й.
|
|||
7
Axel2009
16.02.11
✎
10:36
|
а почему бы вместо Книга.ActiveSheet не использовать ExcelЛист?
|
|||
8
quazzar
16.02.11
✎
10:40
|
(7) пробовал, то же самое
|
|||
9
Axel2009
16.02.11
✎
10:41
|
(8) тогда косяк COMОбъект("Excel.Application")..
|
|||
10
quazzar
16.02.11
✎
10:42
|
ТабДок.ВерхнийКолонтитул.Выводить = Истина;
ТабДок.НижнийКолонтитул.Выводить = Истина; ТабДок.ВерхнийКолонтитул.ТекстСправа = "текст"; ТабДок.НижнийКолонтитул.Выводить = Истина; ТабДок.НижнийКолонтитул.ТекстВЦентре = ИмяФайла; ТабДок.НижнийКолонтитул.ТекстСправа = "[&Дата] [&Время]"; тоже пробовал, в 1С колонтитулы отображаются, в эксель при сохранении не попадают |
|||
11
dk
16.02.11
✎
11:08
|
из 7-ки:
|
|||
12
Axel2009
16.02.11
✎
11:09
|
(11) ПоменятьЗум(Страница.PageSetup);
что это? |
|||
13
dk
16.02.11
✎
11:10
|
попробуй вместо Save
SaveAs - т.е. сохрани в новый файл |
|||
14
dk
16.02.11
✎
11:12
|
(12) это толи включить, толи выключить автомасштаб
напрямую это свойство по OLE Excel не меняет |
|||
15
quazzar
16.02.11
✎
11:27
|
(13) Спасибо, заработало!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |