Страница 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
...
Первая ошибка возникает после строки
Сам макрос объявлен так:
Ранее такого не наблюдалось. Что нужно допилить?
 
			 
			
					
				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