16.03.2010, 18:24 | #1 |
Участник
|
Колонтитулы в Excel
Добрый день!
Может кто-то подскажет в чем может быть проблема!? Необходимо вывести колонтитулы в Excel. Делаю следующим образом: X++: excel = new Com("Excel.application"); WBooks = excel.Workbooks(); WBook = WBooks.add(); WSheets = WBook.Worksheets(); WSheet = WSheets.item(1); PageSetup = WSheet.PageSetup(); PageSetup.CenterFooter('Страница &P из &N'); В чем может быть проблема, почему у меня не проставляются номера страниц? |
|
16.03.2010, 18:43 | #2 |
Moderator
|
Да, странно. У меня всё получается - и в 2003, и в 2007. А данные есть у вас на листе? А Excel какой? Английский или русский?
P.S. Пожелание на будущее - задавая вопрос, выкладывайте не фрагмент, а работоспособный джоб, который можно тут же запустить. Последний раз редактировалось Gustav; 16.03.2010 в 18:46. |
|
16.03.2010, 19:21 | #3 |
Участник
|
Excel у меня 2003-й, русский.
Выкладываю рабочий job: X++: static void Job56(Args _args) { COM Excel; com WBooks, WBook; com WSheets, WSheet; com Cells; com Cell; com PageSetup; com Worksheet; int i,j; ; excel = new Com("Excel.application"); WBooks = excel.Workbooks(); WBook = WBooks.add(); WSheets = WBook.Worksheets(); WSheet = WSheets.item(1); Cells = WSheet.Cells(); PageSetup = WSheet.PageSetup(); PageSetup.CenterFooter('Страница &P из &N'); i = 1; while (i <= 50) { j = 1; cell = COM::createFromVariant(cells.Item( i,j)); cell.NumberFormat('@'); cell.Value2(strfmt('Ячейка %1 - %2',i,j)); j++; cell = COM::createFromVariant(cells.Item( i,j)); cell.NumberFormat('@'); cell.Value2(strfmt('Ячейка %1 - %2',i,j)); j++; cell = COM::createFromVariant(cells.Item( i,j)); cell.NumberFormat('@'); cell.Value2(strfmt('Ячейка %1 - %2',i,j)); j++; i++; } excel.visible(true); } |
|
16.03.2010, 19:39 | #4 |
Moderator
|
А вот так если?
X++: COMVariant cv;
...
cv = COMVariant::createFromStr(@'Страница &P из &N');
PageSetup.CenterFooter(cv.bStr()); P.P.S. А вот дельфисты, наверное, нам помогут в очередной раз: http://www.delphikingdom.ru/asp/view...?catalogid=920 Попробуйте поменять на русские буквы эС и Ка: Цитата:
&P &С Номер страницы.
&N &К Общее количество страниц. Последний раз редактировалось Gustav; 16.03.2010 в 19:52. |
|
|
За это сообщение автора поблагодарили: Zlojbarsuk (1). |
16.03.2010, 20:27 | #5 |
Участник
|
Вот теперь всё получилось!
Оказывается нужно было вставлять русский код форматирования... А я видать плохо в инете искал, раз не нашел ответ :-( Хотя у коллеги стоит русский ёксель и у него работает всё нормально... Да, собственно, я когда макрос записывал, то в макросе как раз латинские буквы были... хм... странно! Gustav, огромной спасибо! |
|
17.03.2010, 10:25 | #6 |
Moderator
|
Цитата:
|
|
17.03.2010, 12:34 | #7 |
Участник
|
День добрый!
Ну, собственно, у меня и у коллеги джоб отрабатывает одинаково и возвращает "2". А если поменять "СУММ" на "SUM", то возвращает "#ИМЯ?". Но, в случае с колонтитулами у меня Эксель понимает русскую кодировку, а у коллеги латинскую. У меня Excel 2003 SP3 (русский), у коллеги Excel 2007(русский). |
|
|
За это сообщение автора поблагодарили: Gustav (2). |
Теги |
excel |
|
|