c SLK единственный шанс положить некий шаблон в папку надстроек, в котором бы обрабатывалось открытие книги Excel и по наименованию бы выполнялись те или инные действий - я вроде когда то писал об этом, ну по урайне мере пользовался.
Гораздо удобней все таки делать текстовую форму в которой выгонять в Excel шаблон. С шапкой вообще проблем нет, подножие можно копировать макросом, либо использовать возможности GalRepBuilder - чуть сложнее настраивать шаблон и вывод.
edward_K писал(а):c SLK еинсвтенный шанс положить некий шаблон в папку надстроек, в котором бы обрабатывалось открытие книги Excel и по наименованию бы выполнялись те или инные действий - я вроде когда то писал об этом, ну по урайне мере пользовался.
Гораздо удобней все таки делать текстовую форму в которой выгонять в Excel шаблон. С шапкой вообще проблем нет, подножие можно копировать макросом, либо использовать возможности GalRepBuilder - чуть сложнее настраивать шаблон и вывод.
так ну вот я написала макросик для эксель а как его ативировать для каждого из 2 SLK отчетов???
Создание макроса «Авто_открыть»
Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения.
Нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel.
В категории Основные в группе Основные параметры работы с Excel установите флажок Показывать вкладку "Разработчик" на ленте, а затем нажмите кнопку ОК.
Для установки уровня безопасности, временно разрешающего выполнение всех макросов, выполните следующие действия:
На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов.
В категории Параметры макросов в группе Параметры макросов нажмите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем нажмите кнопку ОК.
ПРИМЕЧАНИЕ. Для предотвращения запуска потенциально опасного кода по завершении работы с макросами рекомендуется вернуть параметры, отключающие все макросы.
Для сохранения макроса с конкретной книгой сначала откройте эту книгу.
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В поле Имя макроса введите Авто_открыть.
В списке Сохранить в выберите книгу, в которой нужно сохранить макрос.
СОВЕТ. Если необходимо, чтобы данный макрос был всегда доступен при работе в приложении Excel, выберите вариант Личная книга макросов. При выборе варианта Личная книга макросов создается скрытая личная книга макросов (Personal.xlsb)(если она еще не существует), в которой будет сохранен макрос. В Microsoft Windows Vista эта книга сохраняется в папке C:\Users\имя_пользователя\Application Data\Microsoft\Excel\XLStart. В Microsoft Windows XP эта книга сохраняется в папке C:\Documents and Settings\имя_пользователя\Application Data\Microsoft\Excel\XLStart. Книги из этой папки автоматически загружаются при каждом запуске приложения Excel. Если требуется автоматически запускать макрос из личной книги в другой книге, необходимо также сохранить эту книгу в папке XLStart, чтобы при запуске приложения Excel открывались обе книги.
Нажмите кнопку ОК, а затем выполните действия, которые нужно записать.
На вкладке Разработчик в группе Код нажмите кнопку Остановить запись .
СОВЕТ. Можно также нажать кнопку Остановить запись слева от строки состояния.
ПРИМЕЧАНИЯ
Если на шаге 6 было выбрано сохранение макроса в Эта книга или Новая книга, сохраните или переместите книгу в одну из папок XLStart.
Запись макроса «Авто_открыть» имеет следующие ограничения:
Если книга, в которой сохраняется макрос "Auto_Open", уже содержит процедуру на языке VBA в событии Open, эта процедура для события Open заменит все действия макроса "Auto_Open".
При открытии книги с помощью метода Open макрос «Авто_Открыть» игнорируется.
Макрос "Auto_Open" запускается перед открытием других книг. Поэтому при записи действий, которые нужно выполнить в книге по умолчанию "Книга1" или в книге, загруженной из папки XLStart, такие действия макроса "Auto_Open" при запуске приложения Excel выполнены не будут, поскольку запуск этого макроса происходит перед открытием книги по умолчанию и новой книги.
При обнаружении этих ограничений вместо записи макроса «Авто_открыть» необходимо создать процедуру на языке VBA для события Open, как описано в следующем разделе этой статьи.
Чтобы предотвратить автоматическое выполнение макроса "Auto_Open" при запуске Microsoft Excel, во время запуска удерживайте нажатой клавишу SHIFT.
Не хочет он на SLK запускаться автоматом . вот при нажатии кнопки выполнить макрос выполняется , а так не хочет(((
Если прототип готовый, то в теле отчета (frm) формируем нормальный через xl-функции. Единственная проблема может возникнуть если не описан formNAme.Abort. Но это только повлечет открытие обычной пустой формы.
Option Explicit
Private WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If Wb.Name = "reestr.slk" Then
Call Макрос1
End If
End Sub
Private Sub App_NewWorkbook(ByVal Wb As Workbook)
Call Макрос1
End Sub