Добрый день! Возможно ли поместить небезызвестную надстройку WinDatePicker непосредственно внутрь самого файла, чтобы можно было этим файлом с кем-нибудь поделиться и не объяснять человеку, что ему ещё необходимо установить какую-то там надстройку и тем более не объяснять как это сделать? Я попытался сделать так: открыл надстройку, открыл свой файл и в VBA ProjectExplorer попытался скопировать все объекты надстройки (UserForm, Module и т.д.) в свой файл и в общем-то получилось скопировать всё, кроме объектов Sheet, а без них надстройка работает некорректно. И почему в этой надстройке никак нельзя просмотреть объект Sheet (кнопка View Object не активна!)?
Добрый день! Возможно ли поместить небезызвестную надстройку WinDatePicker непосредственно внутрь самого файла, чтобы можно было этим файлом с кем-нибудь поделиться и не объяснять человеку, что ему ещё необходимо установить какую-то там надстройку и тем более не объяснять как это сделать? Я попытался сделать так: открыл надстройку, открыл свой файл и в VBA ProjectExplorer попытался скопировать все объекты надстройки (UserForm, Module и т.д.) в свой файл и в общем-то получилось скопировать всё, кроме объектов Sheet, а без них надстройка работает некорректно. И почему в этой надстройке никак нельзя просмотреть объект Sheet (кнопка View Object не активна!)?Krash
здесь со СНЯТЫМ ПАРОЛЕМ, то можно было бы и посмотреть, что к чему. А на сайте автора она запаролена. Но вообще-то перемещать код процедур из надстройки в модуль файла - это не есть хорошо, т.к. ГРАМОТНО СОЗДАННАЯ НАДСТРОЙКА при загрузке по событию Workbook_Open должна сначала (для исключения дублирования пунктов) удалить ранее кем-то созданный аналогичный по названию пункт меню "Ячейка" (Application.CommandBars("Cell") ), а потом уже создать собственный такой же пункт. При закрытии же файла ГРАМОТНО СОЗДАННАЯ НАДСТРОЙКА по событию Workbook_BeforeClose обязана "убрать за собой", т.е. удалить всё, что насоздавала. Представьте случай: Вы на своём компе с установленной надстройкой открываете файл с аналогичным кодом. Что он делает? Правильно: удаляет из меню "Ячейка" ранее созданный запущенной надстройкой пункт "Календарь" и создаёт свой. А при закрытии файла пункт "Календарь" удаляется. Что в результате получается? Правильно: пункт "Календарь" из Вашего меню исчезает и чтобы восстановить его Вы обязаны переоткрыть надстройку (что не так то и просто) в ручную или закрыть-открыть Excel
здесь со СНЯТЫМ ПАРОЛЕМ, то можно было бы и посмотреть, что к чему. А на сайте автора она запаролена. Но вообще-то перемещать код процедур из надстройки в модуль файла - это не есть хорошо, т.к. ГРАМОТНО СОЗДАННАЯ НАДСТРОЙКА при загрузке по событию Workbook_Open должна сначала (для исключения дублирования пунктов) удалить ранее кем-то созданный аналогичный по названию пункт меню "Ячейка" (Application.CommandBars("Cell") ), а потом уже создать собственный такой же пункт. При закрытии же файла ГРАМОТНО СОЗДАННАЯ НАДСТРОЙКА по событию Workbook_BeforeClose обязана "убрать за собой", т.е. удалить всё, что насоздавала. Представьте случай: Вы на своём компе с установленной надстройкой открываете файл с аналогичным кодом. Что он делает? Правильно: удаляет из меню "Ячейка" ранее созданный запущенной надстройкой пункт "Календарь" и создаёт свой. А при закрытии файла пункт "Календарь" удаляется. Что в результате получается? Правильно: пункт "Календарь" из Вашего меню исчезает и чтобы восстановить его Вы обязаны переоткрыть надстройку (что не так то и просто) в ручную или закрыть-открыть ExcelAlex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 12.01.2017, 08:15
исхожу из того, что этот случай не возможен, так как предполагаемые пользователи моего файла с календарем понятия не имеют что такое вообще "надстройка". Ну а настройка эта как раз из разряда грамотных - убирает всё за собой повторюсь, что проблема для меня сейчас одна: как перенести листы Sheet1 и Sheet2, а всё остальное я за минуту без проблем уже перенес через экспорт-импорт. А эти листы импортируются почему-то как класс и соответственно нифига не работает, так как именно на них (если я правильно понимаю) содержится словарь всех 5 языков
исхожу из того, что этот случай не возможен, так как предполагаемые пользователи моего файла с календарем понятия не имеют что такое вообще "надстройка". Ну а настройка эта как раз из разряда грамотных - убирает всё за собой повторюсь, что проблема для меня сейчас одна: как перенести листы Sheet1 и Sheet2, а всё остальное я за минуту без проблем уже перенес через экспорт-импорт. А эти листы импортируются почему-то как класс и соответственно нифига не работает, так как именно на них (если я правильно понимаю) содержится словарь всех 5 языковKrash
Сообщение отредактировал Manyasha - Четверг, 12.01.2017, 10:58
исхожу из того, что этот случай не возможен, так как предполагаемые пользователи моего файла с календарем понятия не имеют что такое вообще "надстройка". Ну а настройка эта как раз из разряда грамотных - убирает всё за собой
А открыть два файла пытливые предпологаемые пользователи могут?
исхожу из того, что этот случай не возможен, так как предполагаемые пользователи моего файла с календарем понятия не имеют что такое вообще "надстройка". Ну а настройка эта как раз из разряда грамотных - убирает всё за собой
А открыть два файла пытливые предпологаемые пользователи могут?bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Среда, 11.01.2017, 22:18
Пришел сюда за помощью, вместо этого высасывают проблемы из пальца...
Вообще-то после таких слов, да и вообще за нарушение правил форума - не выкладывание файла, да ещё и крамольное предположение о том, что здесь кто-то нарушает авторские права и вскрывает запароленные проекты советовать Вам что-нибудь не следовало… Но раз уж файл без пароля Вы таки-выложили в конце-концов, да и скачал я его вчера вечером из дома (с работы не могу - собаки-сисадмины!), а сегодня на работе с утра посмотрел и разобрался, то ладно... В общем дело в том, что, просмотрев код, я увидел, что в процедурах надстройки идёт интенсивное обращение к её листам Sheet1 и Sheet2 Когда пересохранил надстройку как книгу, открыл листы и увидел на них кучу информации. Зачем нужны данные листа Sheet1 я не стал разбираться, а вот на Sheet2 явно тексты на разных языках. При этом обращение идёт не по именам листов (а ещё лучше бы по CodeName), а по их индексу - типа Sheets(i) Поэтому просто перетащить листы в новую книгу нельзя. Можно в принципе было бы разобрать код (чужой и практически без комментариев - ) и попытаться всё переделать под обращение по CodeName (чтобы тупые юзверги листы не переименовывали)... Но НАФИГА? Проще выбрать в Готовых решениях какой-нибудь другой календарь из нескольких там выложенных. Вот, например,: (1), (2), (3)
Пришел сюда за помощью, вместо этого высасывают проблемы из пальца...
Вообще-то после таких слов, да и вообще за нарушение правил форума - не выкладывание файла, да ещё и крамольное предположение о том, что здесь кто-то нарушает авторские права и вскрывает запароленные проекты советовать Вам что-нибудь не следовало… Но раз уж файл без пароля Вы таки-выложили в конце-концов, да и скачал я его вчера вечером из дома (с работы не могу - собаки-сисадмины!), а сегодня на работе с утра посмотрел и разобрался, то ладно... В общем дело в том, что, просмотрев код, я увидел, что в процедурах надстройки идёт интенсивное обращение к её листам Sheet1 и Sheet2 Когда пересохранил надстройку как книгу, открыл листы и увидел на них кучу информации. Зачем нужны данные листа Sheet1 я не стал разбираться, а вот на Sheet2 явно тексты на разных языках. При этом обращение идёт не по именам листов (а ещё лучше бы по CodeName), а по их индексу - типа Sheets(i) Поэтому просто перетащить листы в новую книгу нельзя. Можно в принципе было бы разобрать код (чужой и практически без комментариев - ) и попытаться всё переделать под обращение по CodeName (чтобы тупые юзверги листы не переименовывали)... Но НАФИГА? Проще выбрать в Готовых решениях какой-нибудь другой календарь из нескольких там выложенных. Вот, например,: (1), (2), (3)Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 12.01.2017, 09:31
Полностью поддерживаю. Разве что MS давно моглиб сделать встроенную опцию. Я не иследовал вопрос что скрвто в потрахах Excel, но помнится давным давно был "DOOM" зашит. На это и время и место было, а на востребованный инструмент внимаия не обращают. При этом я считаю эту программу одним из лучших творений MS.
[offtop] Alex_ST,
Полностью поддерживаю. Разве что MS давно моглиб сделать встроенную опцию. Я не иследовал вопрос что скрвто в потрахах Excel, но помнится давным давно был "DOOM" зашит. На это и время и место было, а на востребованный инструмент внимаия не обращают. При этом я считаю эту программу одним из лучших творений MS.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Четверг, 12.01.2017, 10:20
Вообще-то после таких слов советовать Вам что-нибудь не следовало
а никаких советов не было и ДО каких-либо слов, вместо этого 2 пользователя пытались отыскать какие-то несуществующие проблемы несуществующего файла (зачем???)
Когда пересохранил надстройку как книгу, открыл листы
Судорожно пытался это сделать - не вышло, выдает какую-то ошибку. Но это уже не важно, скопировал листы другим способом. Надстройка успешно вставилась в файл и прекрасно работает, этот вопрос закрыт. Буду благодарен, если подскажете как назначить событие на клик по любому из чекбоксов формы. Нашел решение (через классы) в другом источнике, но не работает - выпадает ошибка((
Вообще-то после таких слов советовать Вам что-нибудь не следовало
а никаких советов не было и ДО каких-либо слов, вместо этого 2 пользователя пытались отыскать какие-то несуществующие проблемы несуществующего файла (зачем???)
Когда пересохранил надстройку как книгу, открыл листы
Судорожно пытался это сделать - не вышло, выдает какую-то ошибку. Но это уже не важно, скопировал листы другим способом. Надстройка успешно вставилась в файл и прекрасно работает, этот вопрос закрыт. Буду благодарен, если подскажете как назначить событие на клик по любому из чекбоксов формы. Нашел решение (через классы) в другом источнике, но не работает - выпадает ошибка((Krash
… скопировал листы другим способом. Надстройка успешно вставилась в файл и прекрасно работает
Если не переделали код под обращение по CodeName или как минимум не сделали листы "шибко спрятанными" (VeryHidden), то ждите "восторженных" отзывов пользователей по причине, которую я объяснял выше.
А в чём проблема-то? Указываете в свойствах модуля ЭтаКнига (ThisWorkbook) свойство IsAddin=False и пытаетесь сохранить проект. Далее - по указаниям Excel'я
… скопировал листы другим способом. Надстройка успешно вставилась в файл и прекрасно работает
Если не переделали код под обращение по CodeName или как минимум не сделали листы "шибко спрятанными" (VeryHidden), то ждите "восторженных" отзывов пользователей по причине, которую я объяснял выше.
А в чём проблема-то? Указываете в свойствах модуля ЭтаКнига (ThisWorkbook) свойство IsAddin=False и пытаетесь сохранить проект. Далее - по указаниям Excel'яAlex_ST
У меня на 2003 надстройка, естественно, вообще не запускается, поэтому по работе формы сказать ничего не могу. Но обработчики событий на чекбоксы поставить обычно нет проблем.
У меня на 2003 надстройка, естественно, вообще не запускается, поэтому по работе формы сказать ничего не могу. Но обработчики событий на чекбоксы поставить обычно нет проблем.Alex_ST
Ну, вообще-то, автор мало того, что не русскоязычный, так ещё и надстройка бесплатная и совсем простым паролем закрыта явно просто от шаловливых ручек, а не по причине от ущемления авторских я.. прав. Так что в удалении её из поста, имхо, нет необходимости. Тем более, что в принципе нет особого смысла её, запароленную, качать с сайта автора, когда в массе мест в сети она лежит уже открытая. И если бы у меня первой ссылкой в гуглении вылез не сайт автора, а я пролистал чуть ниже и скачал оттуда, то никогда бы и не узнал о том, что она запаролена.
Ну, вообще-то, автор мало того, что не русскоязычный, так ещё и надстройка бесплатная и совсем простым паролем закрыта явно просто от шаловливых ручек, а не по причине от ущемления авторских я.. прав. Так что в удалении её из поста, имхо, нет необходимости. Тем более, что в принципе нет особого смысла её, запароленную, качать с сайта автора, когда в массе мест в сети она лежит уже открытая. И если бы у меня первой ссылкой в гуглении вылез не сайт автора, а я пролистал чуть ниже и скачал оттуда, то никогда бы и не узнал о том, что она запаролена.Alex_ST