Страница 4 из 5

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 16:00
Ruslan_V
Подскажите, пожалуйста, какой xl-функцией задать шрифт текста в ячейке. Пересмотрел документацию, на форуме тоже не нашел, есть функции установки размера шрифта, стиля (Ж, К, Ч), а вот как задать сам шрифт ячейки или диапазона, к примеру, Times New Roman, вместо стандартного по умолчанию Calibri.

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 16:14
Den
макросом
функции нема видимо

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 16:34
Ruslan_V
Эх, никогда с макросами не работал. У меня формируется Excel xls-файл из собственного интерфейса. Получается нужен какой-то еще внешний файл, в котором этот макрос будет храниться, чтоб из него можно было запустить этот макрос в своем формируемом файле?

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 17:02
Den
все верно..объявляете в своем интер-се файло

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

Добавлено: 18 янв 2013, 17:27
m0p3e
Ну либо делать xls файл из шаблона (xlt) в котором задать нужный шрифт.

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 17:52
Ruslan_V
Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 18:47
Den
Ruslan_V писал(а):Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?
разумеется

Re: Отчеты в Excel

Добавлено: 18 янв 2013, 18:55
Ruslan_V
Спасибо, буду пробовать.

Re: Отчеты в Excel

Добавлено: 25 фев 2014, 10:56
RAJAH
Поставили обновления на 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)
Ранее такого не наблюдалось. Что нужно допилить?

Re: Отчеты в Excel

Добавлено: 25 фев 2014, 14:55
pk
RAJAH писал(а):Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
В этом наборе обновлений сменился GalXLSLib.dll и требуется его перерегистрация на раб местах, иначе попросту не работали стандартные отчеты в Excel ("Не инициализирована сессия работы с Excel!") с использовавшейся прежде версией библиотеки (давно не меняли, от 2011 года).
Проверьте, может дело в этом.
Команда перерегистрации (адм права):
Regsvr32 /u /s GalXLSLib.dll
Regsvr32 /s GalXLSLib.dll

Re: Отчеты в Excel

Добавлено: 25 фев 2014, 15:34
RAJAH
pk писал(а):
RAJAH писал(а):Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
В этом наборе обновлений сменился GalXLSLib.dll и требуется его перерегистрация на раб местах, иначе попросту не работали стандартные отчеты в Excel ("Не инициализирована сессия работы с Excel!") с использовавшейся прежде версией библиотеки (давно не меняли, от 2011 года).
Проверьте, может дело в этом.
Команда перерегистрации (адм права):
Regsvr32 /u /s GalXLSLib.dll
Regsvr32 /s GalXLSLib.dll
Перерегистрировал. Не помогает: макрос не срабатывает, ошибка в файл сбрасывается.

Re: Отчеты в Excel

Добавлено: 25 фев 2014, 22:15
LaaLaa
Патч исправляющий работу макросов должен завтра выйти

Re: Отчеты в Excel

Добавлено: 26 фев 2014, 11:27
pk
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

Добавлено: 26 фев 2014, 16:23
LaaLaa
К сожалению хочу отметить, что с некоторой долей вероятности на текущем патче 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.

Просьба строго не судить. А если кто-то заметит неприятные моменты связанных с кодировками в отчетах. Просьба написать в данной ветке форума.

Re: Отчеты в Excel

Добавлено: 03 мар 2014, 16:17
RAJAH
LaaLaa писал(а):если кто-то заметит неприятные моменты ... Просьба написать в данной ветке форума.
Строчка

Код: Выделить всё

xlFrameCells(63, 2, 1, 1, 12+i, 9, 12+i, 21);
печатает в GalXLSLib.Log ошибку

Код: Выделить всё

[03.03.2014 16:16:07] Error: FrameCells: Нельзя установить свойство LineStyle класса Border