Отчеты в Excel
Модераторы: m0p3e, edward_K, Модераторы
Re: Отчеты в Excel
Подскажите, пожалуйста, какой xl-функцией задать шрифт текста в ячейке. Пересмотрел документацию, на форуме тоже не нашел, есть функции установки размера шрифта, стиля (Ж, К, Ч), а вот как задать сам шрифт ячейки или диапазона, к примеру, Times New Roman, вместо стандартного по умолчанию Calibri.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Отчеты в Excel
макросом
функции нема видимо
функции нема видимо
Re: Отчеты в Excel
Эх, никогда с макросами не работал. У меня формируется Excel xls-файл из собственного интерфейса. Получается нужен какой-то еще внешний файл, в котором этот макрос будет храниться, чтоб из него можно было запустить этот макрос в своем формируемом файле?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Отчеты в Excel
все верно..объявляете в своем интер-се файло
Inteface testxls;
craete view
fpath : string;
;
file mcsf;
....
//и в обработке печати
FPath :=GetPathParameter('files', 'TmpFilesDirectory', 0)+'macros.bas';
DeleteFile(FPath);
mcsf.openfile(FPath,stcreate);
mcsf.writeln(oem2ansi('Sub MyMacros')); // делаем суть макроса
.....
mcsf.writeln(oem2ansi('End Sub'));
mcsf.close;
xlImportModule(FPath);
xlRunMacro('MyMacros');
остается запрограммить лишь суть макроса.
Inteface testxls;
craete view
fpath : string;
;
file mcsf;
....
//и в обработке печати
FPath :=GetPathParameter('files', 'TmpFilesDirectory', 0)+'macros.bas';
DeleteFile(FPath);
mcsf.openfile(FPath,stcreate);
mcsf.writeln(oem2ansi('Sub MyMacros')); // делаем суть макроса
.....
mcsf.writeln(oem2ansi('End Sub'));
mcsf.close;
xlImportModule(FPath);
xlRunMacro('MyMacros');
остается запрограммить лишь суть макроса.
Re: Отчеты в Excel
Ну либо делать xls файл из шаблона (xlt) в котором задать нужный шрифт.
Re: Отчеты в Excel
Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Отчеты в Excel
разумеетсяRuslan_V писал(а):Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?
Re: Отчеты в Excel
Спасибо, буду пробовать.
Re: Отчеты в Excel
Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
Первая ошибка возникает после строки
Сам макрос объявлен так:
Ранее такого не наблюдалось. Что нужно допилить?
Код: Выделить всё
...
[25.02.2014 10:06:52] Error: RunMacro: Несовпадение типов
[25.02.2014 10:25:30] Error: FrameCells: Нельзя установить свойство Weight класса Border
...
Код: Выделить всё
xlRunMacro('nizhstamp('+string(6+i)+')');
Код: Выделить всё
Sub nizhstamp(stroka As Long)
-
- Постоянный обитатель
- Сообщения: 135
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва Связьтранснефть
Re: Отчеты в Excel
В этом наборе обновлений сменился GalXLSLib.dll и требуется его перерегистрация на раб местах, иначе попросту не работали стандартные отчеты в Excel ("Не инициализирована сессия работы с Excel!") с использовавшейся прежде версией библиотеки (давно не меняли, от 2011 года).RAJAH писал(а):Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
Проверьте, может дело в этом.
Команда перерегистрации (адм права):
Regsvr32 /u /s GalXLSLib.dll
Regsvr32 /s GalXLSLib.dll
С ув..
Re: Отчеты в Excel
Перерегистрировал. Не помогает: макрос не срабатывает, ошибка в файл сбрасывается.pk писал(а):В этом наборе обновлений сменился GalXLSLib.dll и требуется его перерегистрация на раб местах, иначе попросту не работали стандартные отчеты в Excel ("Не инициализирована сессия работы с Excel!") с использовавшейся прежде версией библиотеки (давно не меняли, от 2011 года).RAJAH писал(а):Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
Проверьте, может дело в этом.
Команда перерегистрации (адм права):
Regsvr32 /u /s GalXLSLib.dll
Regsvr32 /s GalXLSLib.dll
-
- Постоянный обитатель
- Сообщения: 135
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва Связьтранснефть
Re: Отчеты в Excel
И впрямь;)LaaLaa писал(а):Патч исправляющий работу макросов должен завтра выйти
------
* ОБНОВЛЕНИЕ: GALXLSLIB_DLL_9140
№1
* ПРОБЛЕМА В ПИР: 101.53833
* ПЕРВОЕ РЕШЕНИЕ: NEW
* КРАТКОЕ ОПИСАНИЕ: Не формируется Акт сверки
* ПРОЕКТ: Отчеты в Microsoft Office Excel
* ДЕТАЛИЗАЦИЯ: Отчеты в XLS в целом
# ЧТО ИЗМЕНЕНО: После установки обновлений перестал формироваться Акт сверки
AktReviews.xlt
# КАК ИЗМЕНЕНО: Исправлено.
# ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: 1) Перед обновлением необходимо провести отмену
регистрации старой dll:
regsvr32.exe /u GalXLSLib.dll
Если не провести отмену регистрации информация о предыдущем COM-объекте
библиотеки GalXLSLib.dll остается в реестре в качестве мусора.
2) Затем заменить старую dll новой и провести регистрацию:
regsvr32.exe GalXLSLib.dll
или запустить Галактику от имени администратора.
С ув..
Re: Отчеты в Excel
К сожалению хочу отметить, что с некоторой долей вероятности на текущем патче GalXLSLib_dll_81060 и GALXLSLIB_DLL_9140 также могут проявиться некоторые другие неприятные моменты.
Поскольку в эти сборки вошла одна очень серьезная проблема. В библиотеке GalXLSLib.dll была реализована поддержка для Казахских, Украинских, Белорусских национальных символов. Внутренние механизмы библиотеки были переработаны с одно-байтовой кодировки ANSI 1251 в много-байтовую кодировку UNICODE. А также применяются специальные функции которые при чтении и записи в Excel автоматически конвертируют строки из вариантов кодировок OEM 866 RUS, OEM 866 KAZ, OEM 866 KAZ, OEM 866 BEL (на которых работает Atlanis VIP) напрямую в UNICODE.
Просьба строго не судить. А если кто-то заметит неприятные моменты связанных с кодировками в отчетах. Просьба написать в данной ветке форума.
Поскольку в эти сборки вошла одна очень серьезная проблема. В библиотеке GalXLSLib.dll была реализована поддержка для Казахских, Украинских, Белорусских национальных символов. Внутренние механизмы библиотеки были переработаны с одно-байтовой кодировки ANSI 1251 в много-байтовую кодировку UNICODE. А также применяются специальные функции которые при чтении и записи в Excel автоматически конвертируют строки из вариантов кодировок OEM 866 RUS, OEM 866 KAZ, OEM 866 KAZ, OEM 866 BEL (на которых работает Atlanis VIP) напрямую в UNICODE.
Просьба строго не судить. А если кто-то заметит неприятные моменты связанных с кодировками в отчетах. Просьба написать в данной ветке форума.
Re: Отчеты в Excel
СтрочкаLaaLaa писал(а):если кто-то заметит неприятные моменты ... Просьба написать в данной ветке форума.
Код: Выделить всё
xlFrameCells(63, 2, 1, 1, 12+i, 9, 12+i, 21);
Код: Выделить всё
[03.03.2014 16:16:07] Error: FrameCells: Нельзя установить свойство LineStyle класса Border