|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.07.2009, 09:41 | #1 |
Регистрация: 17.07.2009
Сообщений: 9
|
Редактирование свойств объектов
Здравствуйте дамы и господа,
недавно решил заняться VBA и столкнулся с небольшой проблемкой. Нужно добавить объекту Workbook несколько дополнительных свойств. Может быть кто-то знает как это делается или где почитать как это сделать? Пока пробовал решить это с помощью объявления переменных и макроса при автозапуске, который предлагал бы их запомнить, но мне не удалось, т.к. а) нужно чтобы эти данные постоянно хранились в WorkBook и б) у каждой книги они должны быть своими (не обязательно разными)... (Вариант с записью в ячейку при создании новой книги не подходит =) Заранее спасибо! С уважением, blacklight. |
17.07.2009, 15:42 | #2 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 26
|
Вообще-то можно было и в ячейки на листе записывать, просто книги Excel позволяют включать НЕВИДИМОСТЬ отдельным листам. А чтобы оно повторялось для всех новых документов, надо заменить шаблонную книгу Excel (не помню точно название и расположение), которая используется для основы всех новых документов. Если додумаюсь, как обратиться к свойству книги (которое в Файл - Свойства...), то обязательно напишу. Удачи!
|
18.07.2009, 01:20 | #3 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Посмотрите в HELP описание коллекции DocumentProperties и свойство CustomDocumentProperties для объекта Workbook
Альтернативный вариант - воспользоваться коллекцией Application.Names для размещения своей информации в именах. IMHO 1-й вариант предпочтительнее тем, что существует способ чтения пользовательских свойств рабочей книги без её открытия, используя dsofile.dll (DSO OLE Document Properties Reader) от Microsoft для файлов классических (т.е compaund document а не xlsx и т.п ) форматов. Последний раз редактировалось Aent; 18.07.2009 в 01:37. |
12.08.2009, 12:17 | #4 |
Регистрация: 17.07.2009
Сообщений: 9
|
Спасибо Aent! я уже решил этот вопрос как раз с помощью CustomDocumentProperties... =)
Вопрос такой, как сделать так, чтобы книга создавалась уже дополнительными свойствами? То есть не проверять при открытии есть ли свойство, если ошибка -> создать свойства , а именно отредактировать сам объект Workbook, чтобы когда кто-то создает новую книгу -> она сразу имеет свойства А и Б, как например, name, codename, author и прочие... Спасибо! С уважением, blacklight. |
12.08.2009, 15:09 | #5 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Создавайте книгу на основании шаблона (.xlt), который уже содержит весь набор требуемых пользовательских свойств
Можно попытаться заменить стандартный шаблон, но особого смысла я в этом не вижу так как пользователь всегда может создать книгу на основе своего шаблона. А чем вас не устраивает создание свойства при его отсутствии ? IMHO это значительно правильнее. Последний раз редактировалось Aent; 12.08.2009 в 15:12. |
12.08.2009, 19:26 | #6 |
Регистрация: 17.07.2009
Сообщений: 9
|
Проверка на наличие свойства по событию Open не дает желаемого результата - если одна книга уже открыта, то проверка в следующей открываемой книге не производится.
Да и модуль запускается до открытия самой книги, что приводит к тому, что свойство не присваивается. Поэтому проще сделать так чтобы оно уже присутствовало в шаблоне... Отредактировал шаблон =) вроде работает. Спасибо! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение свойств изображения | Бутаков_Сергей | Мультимедиа в Delphi | 2 | 10.06.2009 18:38 |
Редактирование свойств форм | tae1980 | Microsoft Office Excel | 4 | 22.03.2009 09:47 |
редактор свойств из Stringgrid | Leksmaster | Фриланс | 3 | 01.03.2009 01:11 |
Изменение свойств файла | dimonbest | Win Api | 7 | 23.02.2009 20:42 |
Microsoft Office Outlook : Список свойств объектов olMailItem, olTaskItem | Jenya | Софт | 1 | 15.02.2008 14:58 |