Элемент управления календарь

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Здравствуйте, коллеги! Такой вопрос: есть документ общего пользования в локальной сети с всплывающей формой, на которой находится элемент управления календарь. И вот беда: стоит открыть и сохранить документ пользователю, у которого этот элемент не установлен, он пропадает из документа совсем и не появляется даже при открытии на тех машинах, где календарь установлен. Посоветуйте, можно ли обойти это препятствие без того, чтобы устанавливать этот элемент управления на всех машинах или ограничить доступ к этому документу? Например, определять программно, есть ли этот элемент и запрещать открывать форму.
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте AlexZZZ.
Действительно нужен календарь в таком файле?
Может проще установить календарь как надстройку 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, поэтому при работе в его среде необходима полная классификация ссылки при декларировании.

Код: Выделить всё

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
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Спасибо, идея понятна! Немного сложновато для меня, ну да попробую разобраться. Вообще, и сам уже пожалел что в Excel cвязался с календарём, хотя вещь весьма удобная, но странный Microsoft сделал его всего лишь компонентом Access. А наш сисадмин "всякий мусор по умолчанию не устанавливает". :mad: Ещё Уокенбах отговаривал, в таких случаях как мой, с календарём связываться, да жаль поздно прочитал. Кучу надстроек в инете уже и сам встретил. Переделывать нет времени, да и чужие надстройки под себя не всегда просто приспособить, а до своих пока не дорос.
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Да уж с календарем этим мутота сплошная, было дело :rolleyes:
Я в своем случае вышел из положения применив календарь от Avsha, очень рекомендую посмотреть. Замечательная вещь, спасибо ему! Теперь я везде пользуюсь только этим календарем :)
http://forum.developing.ru/showthread.p ... 4%E0%F0%FC
Аватара пользователя
Mint86
Сообщения: 127
Зарегистрирован: 04 мар 2008, 11:47

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

Кстати, может кто нить сможет русификацию сделать.
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Есть еще надстройка Date Picker на мой взгляд самый удобный и красивый

не возражаю, "пользовал", хотя по поводу "самый, самый" - вряд ли. :rolleyes: Здесь как говорится - на вкус и цвет...
Однако, надстройка - она и есть надстройка. Прелесть календаря Avsha как раз в том, что это обыкновенная форма. И поэтому никаких проблем с подключением. У меня, например, этот календарь расположен на большой, главной форме. Висит постоянно перед глазами. Пользователям нравится :) :)
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

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

ссылка от Евгения
Этот календарик тоже от Avsha :)
Ответить