Отчеты в Excel

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ruslan_V
Посетитель
Сообщения: 45
Зарегистрирован: 01 июн 2009, 17:11

Re: Отчеты в Excel

Сообщение Ruslan_V »

Подскажите, пожалуйста, какой xl-функцией задать шрифт текста в ячейке. Пересмотрел документацию, на форуме тоже не нашел, есть функции установки размера шрифта, стиля (Ж, К, Ч), а вот как задать сам шрифт ячейки или диапазона, к примеру, Times New Roman, вместо стандартного по умолчанию Calibri.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Отчеты в Excel

Сообщение Den »

макросом
функции нема видимо
Ruslan_V
Посетитель
Сообщения: 45
Зарегистрирован: 01 июн 2009, 17:11

Re: Отчеты в Excel

Сообщение Ruslan_V »

Эх, никогда с макросами не работал. У меня формируется Excel xls-файл из собственного интерфейса. Получается нужен какой-то еще внешний файл, в котором этот макрос будет храниться, чтоб из него можно было запустить этот макрос в своем формируемом файле?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Отчеты в Excel

Сообщение 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');


остается запрограммить лишь суть макроса.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Отчеты в Excel

Сообщение m0p3e »

Ну либо делать xls файл из шаблона (xlt) в котором задать нужный шрифт.
Ruslan_V
Посетитель
Сообщения: 45
Зарегистрирован: 01 июн 2009, 17:11

Re: Отчеты в Excel

Сообщение Ruslan_V »

Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Отчеты в Excel

Сообщение Den »

Ruslan_V писал(а):Den, а суть макроса, я так понимаю, пишется уже на языке макросов, VBA?
разумеется
Ruslan_V
Посетитель
Сообщения: 45
Зарегистрирован: 01 июн 2009, 17:11

Re: Отчеты в Excel

Сообщение Ruslan_V »

Спасибо, буду пробовать.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в Excel

Сообщение 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)
Ранее такого не наблюдалось. Что нужно допилить?
pk
Постоянный обитатель
Сообщения: 135
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва Связьтранснефть

Re: Отчеты в Excel

Сообщение pk »

RAJAH писал(а):Поставили обновления на 9.1. Теперь в рабочей папке стал появляться файл GalXLSLib.Log с какими-то ошибками.
В этом наборе обновлений сменился GalXLSLib.dll и требуется его перерегистрация на раб местах, иначе попросту не работали стандартные отчеты в Excel ("Не инициализирована сессия работы с Excel!") с использовавшейся прежде версией библиотеки (давно не меняли, от 2011 года).
Проверьте, может дело в этом.
Команда перерегистрации (адм права):
Regsvr32 /u /s GalXLSLib.dll
Regsvr32 /s GalXLSLib.dll
С ув..
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в Excel

Сообщение RAJAH »

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

Re: Отчеты в Excel

Сообщение LaaLaa »

Патч исправляющий работу макросов должен завтра выйти
pk
Постоянный обитатель
Сообщения: 135
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва Связьтранснефть

Re: Отчеты в Excel

Сообщение 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
или запустить Галактику от имени администратора.
С ув..
LaaLaa

Re: Отчеты в Excel

Сообщение 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.

Просьба строго не судить. А если кто-то заметит неприятные моменты связанных с кодировками в отчетах. Просьба написать в данной ветке форума.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в Excel

Сообщение 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
Ответить