Элемент управления календарь
Модератор: Naeel Maqsudov
Здравствуйте, коллеги! Такой вопрос: есть документ общего пользования в локальной сети с всплывающей формой, на которой находится элемент управления календарь. И вот беда: стоит открыть и сохранить документ пользователю, у которого этот элемент не установлен, он пропадает из документа совсем и не появляется даже при открытии на тех машинах, где календарь установлен. Посоветуйте, можно ли обойти это препятствие без того, чтобы устанавливать этот элемент управления на всех машинах или ограничить доступ к этому документу? Например, определять программно, есть ли этот элемент и запрещать открывать форму.
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте AlexZZZ.
Действительно нужен календарь в таком файле?
Может проще установить календарь как надстройку Excel, и забыть об этой проблеме сетевого файла?
http://woodash.ifolder.ru/5088130 Выбор даты.rar 14.05 кб
Евгений.
Действительно нужен календарь в таком файле?
Может проще установить календарь как надстройку Excel, и забыть об этой проблеме сетевого файла?
http://woodash.ifolder.ru/5088130 Выбор даты.rar 14.05 кб
Евгений.
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Да, можно (если разрешён программный доступ к проекту VBA) пройтись по коллекции ссылок и если есть неразрешённые запретить загружать форму
В проекте должна быть ссылка на библиотеку типов IDE VBA (Microsoft Visual Basic for Application Extensibility x.x). А потом или сразу ссылайтеь на нужный вам элемент Application.VBE.ActiveVBProject.References(...) или ищите его в цикле используя
свойства .Name или .GUID. Если ссылка разрушена .IsBroken = True
Обратите внимание, что в Access есть собственный класс Reference, поэтому при работе в его среде необходима полная классификация ссылки при декларировании.
В проекте должна быть ссылка на библиотеку типов IDE VBA (Microsoft Visual Basic for Application Extensibility x.x). А потом или сразу ссылайтеь на нужный вам элемент Application.VBE.ActiveVBProject.References(...) или ищите его в цикле используя
свойства .Name или .GUID. Если ссылка разрушена .IsBroken = True
Обратите внимание, что в Access есть собственный класс Reference, поэтому при работе в его среде необходима полная классификация ссылки при декларировании.
Код: Выделить всё
Dim ref as VBIDE.Reference
For Each ref in Application.VBE.ActiveVBProject.References
With ref
if .IsBroken then
Debug.Print "Ссылка " & .Name & .Major & "." & .Minor & _
iif(.Type = vbext_rk_Typelib, .GUID, " ") & " повреждена!"
end if
End with
Next ref
Спасибо, идея понятна! Немного сложновато для меня, ну да попробую разобраться. Вообще, и сам уже пожалел что в Excel cвязался с календарём, хотя вещь весьма удобная, но странный Microsoft сделал его всего лишь компонентом Access. А наш сисадмин "всякий мусор по умолчанию не устанавливает".
Ещё Уокенбах отговаривал, в таких случаях как мой, с календарём связываться, да жаль поздно прочитал. Кучу надстроек в инете уже и сам встретил. Переделывать нет времени, да и чужие надстройки под себя не всегда просто приспособить, а до своих пока не дорос.

- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Да уж с календарем этим мутота сплошная, было дело 
Я в своем случае вышел из положения применив календарь от Avsha, очень рекомендую посмотреть. Замечательная вещь, спасибо ему! Теперь я везде пользуюсь только этим календарем
http://forum.developing.ru/showthread.p ... 4%E0%F0%FC

Я в своем случае вышел из положения применив календарь от Avsha, очень рекомендую посмотреть. Замечательная вещь, спасибо ему! Теперь я везде пользуюсь только этим календарем

http://forum.developing.ru/showthread.p ... 4%E0%F0%FC
Есть еще надстройка Date Picker на мой взгляд самый удобный и красивыйVictorM писал(а):Да уж с календарем этим мутота сплошная, было дело
Я в своем случае вышел из положения применив календарь от Avsha, очень рекомендую посмотреть. Замечательная вещь, спасибо ему! Теперь я везде пользуюсь только этим календарем
http://forum.developing.ru/showthread.p ... 4%E0%F0%FC

http://slil.ru/25550974
Кстати, может кто нить сможет русификацию сделать.
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Есть еще надстройка Date Picker на мой взгляд самый удобный и красивый
не возражаю, "пользовал", хотя по поводу "самый, самый" - вряд ли.

Однако, надстройка - она и есть надстройка. Прелесть календаря Avsha как раз в том, что это обыкновенная форма. И поэтому никаких проблем с подключением. У меня, например, этот календарь расположен на большой, главной форме. Висит постоянно перед глазами. Пользователям нравится


Date Picker видел, действительно красив и удобен, но только как персональная надстройка, к сожалению, не более. В своих проектах использовать её проблематично, да и доступ к неё запаролен. Взломать конечно всё можно, но зачем?
От Avsha календарик, действительно, симпатичный и довольно функциональный, спасибо! Кстати ссылка от Евгения http://woodash.ifolder.ru/5088130 мне тоже очень понравилась. Календарик там ещё более простой, но не менее функциональный и симпатичный. Несмотря на то, что это тоже надстройка, вставить её в любой проект не составит труда.
Всем большое спасибо!
От Avsha календарик, действительно, симпатичный и довольно функциональный, спасибо! Кстати ссылка от Евгения http://woodash.ifolder.ru/5088130 мне тоже очень понравилась. Календарик там ещё более простой, но не менее функциональный и симпатичный. Несмотря на то, что это тоже надстройка, вставить её в любой проект не составит труда.
Всем большое спасибо!