У нас потребовалось организовать автоообновление макросов в ёкселе. Народу много и всё женского пола -- короче, при слове "обновить персональную книгу макросов", все прячутся под стол.
Ну так вот, решение было найдено...
В personal.xls в классе ThisWorkbook было прописано:
- Код: Выделить всё
Private Sub Workbook_Open()
'Если файл с модулем для обновления найден, то обновим существующий модуль.
If FileExist("c:\mtest.bas") Then
'Удаляем старый модуль.
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents.Item("MTest")
'Импортируем новый.
ThisWorkbook.VBProject.VBComponents.Import "c:\mtest.bas"
End If
End Sub
сие нормально работает в 2000'м офисе. А в 2003 нет!!! Он, 2003, гнида, не даёт доступа к VBProject наотрез.
Начальник, с завидным упорством, стоит за 2003 оффис. Перезаписывать всем personal.xls тож неззя...
ЧТО ДЕЛАТЬ? И ПОЧЕМУ В 2003 офисе VBProject недоступен?
Если у вас уже есть ещё какое-нибудь работающее решение, то буду рад его узнать.