Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ограничение на работу макроса по дате - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Ограничение на работу макроса по дате
Apelsinko Дата: Вторник, 09.07.2019, 10:22 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!

Пожалуйста, помогите ограничить работу макроса. Я сам далеко не программист, работаю с макросами, запускающими и считывающими результаты из одной программы.
Так случилось, что завтра нужно ложиться в больницу на 2 недели, а работу, которую я выполнял, больше никто не умеет делать. И меня в срочном порядке просят обучить работе с этими макросами человека из другого отдела.

Можно как то ограничить работу макроса по дате ? Или Запрашивать код, который нужно вводить, после наступления определенной даты? Или чтобы макрос удалялся после наступления определенной даты

Очень прошу помочь! Спасибо
 
Ответить
СообщениеЗдравствуйте!

Пожалуйста, помогите ограничить работу макроса. Я сам далеко не программист, работаю с макросами, запускающими и считывающими результаты из одной программы.
Так случилось, что завтра нужно ложиться в больницу на 2 недели, а работу, которую я выполнял, больше никто не умеет делать. И меня в срочном порядке просят обучить работе с этими макросами человека из другого отдела.

Можно как то ограничить работу макроса по дате ? Или Запрашивать код, который нужно вводить, после наступления определенной даты? Или чтобы макрос удалялся после наступления определенной даты

Очень прошу помочь! Спасибо

Автор - Apelsinko
Дата добавления - 09.07.2019 в 10:22
_Boroda_ Дата: Вторник, 09.07.2019, 10:26 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Можно. Вариантов куча. Например
[vba]
Код
If Date > CDate("08.07.2019") Then Exit Sub
[/vba]

Пароль - сумма дня и месяца. Для сегодня - 9+7=16
[vba]
Код
If Date > CDate("08.07.2019") Then
        If InputBox("Введите пароль") <> Day(Date) + Month(Date) Then Exit Sub
    End If
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно. Вариантов куча. Например
[vba]
Код
If Date > CDate("08.07.2019") Then Exit Sub
[/vba]

Пароль - сумма дня и месяца. Для сегодня - 9+7=16
[vba]
Код
If Date > CDate("08.07.2019") Then
        If InputBox("Введите пароль") <> Day(Date) + Month(Date) Then Exit Sub
    End If
[/vba]

Автор - _Boroda_
Дата добавления - 09.07.2019 в 10:26
Apelsinko Дата: Вторник, 09.07.2019, 10:36 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
огромное спасибо, сейчас попробую. А можно автоудаление так же запрограммировать ?
 
Ответить
Сообщениеогромное спасибо, сейчас попробую. А можно автоудаление так же запрограммировать ?

Автор - Apelsinko
Дата добавления - 09.07.2019 в 10:36
Apelsinko Дата: Вторник, 09.07.2019, 10:41 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, ограничение по дате сработало)) Огромное спасибо)
 
Ответить
СообщениеСпасибо, ограничение по дате сработало)) Огромное спасибо)

Автор - Apelsinko
Дата добавления - 09.07.2019 в 10:41
Apelsinko Дата: Вторник, 09.07.2019, 10:42 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Но я все же попытаю счастье с написанием кода как удалить макрос после определенной даты
 
Ответить
СообщениеНо я все же попытаю счастье с написанием кода как удалить макрос после определенной даты

Автор - Apelsinko
Дата добавления - 09.07.2019 в 10:42
Apelsinko Дата: Вторник, 09.07.2019, 11:28 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
на данной странице https://u.to/jcnSFQ я нашел код удаления всего макроса

у меня есть кнопка в макросе, с которой весь расчет начинается.

В код этой кнопки я вписал сперва

[vba]
Код
Dim oVBComponent As Object, lCountLines As Long
'Проверяем, защищен проект или нет
If ActiveWorkbook.VBProject.Protection = 1 Then
MsgBox "VBProject выбранной книги защищён." & vbCrLf & _
" Компоненты не будут удалены.", vbExclamation, "Отмена выполнения"
Exit Sub
End If
[/vba]

Затем написал

[vba]
Код
If Date > CDate("07.07.2019") Then
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1 'Модули
.Collection.Remove oVBComponent
Case 2 'Модули Класса
.Collection.Remove oVBComponent
Case 3 'Формы
.Collection.Remove oVBComponent
Case 100 'ЭтаКнига, Листы
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next
Set oVBComponent = Nothing
End if
[/vba]

и дальше пошел код самой кнопки.

В итоге после запуска макроса он ругается следующим образом:

[vba]
Код
Run-time error '1004'

Method 'VBproject' of object '_Workbook' failed
[/vba]

В чем может быть проблема?


Сообщение отредактировал Apelsinko - Вторник, 09.07.2019, 12:07
 
Ответить
Сообщениена данной странице https://u.to/jcnSFQ я нашел код удаления всего макроса

у меня есть кнопка в макросе, с которой весь расчет начинается.

В код этой кнопки я вписал сперва

[vba]
Код
Dim oVBComponent As Object, lCountLines As Long
'Проверяем, защищен проект или нет
If ActiveWorkbook.VBProject.Protection = 1 Then
MsgBox "VBProject выбранной книги защищён." & vbCrLf & _
" Компоненты не будут удалены.", vbExclamation, "Отмена выполнения"
Exit Sub
End If
[/vba]

Затем написал

[vba]
Код
If Date > CDate("07.07.2019") Then
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1 'Модули
.Collection.Remove oVBComponent
Case 2 'Модули Класса
.Collection.Remove oVBComponent
Case 3 'Формы
.Collection.Remove oVBComponent
Case 100 'ЭтаКнига, Листы
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next
Set oVBComponent = Nothing
End if
[/vba]

и дальше пошел код самой кнопки.

В итоге после запуска макроса он ругается следующим образом:

[vba]
Код
Run-time error '1004'

Method 'VBproject' of object '_Workbook' failed
[/vba]

В чем может быть проблема?

Автор - Apelsinko
Дата добавления - 09.07.2019 в 11:28
bmv98rus Дата: Вторник, 09.07.2019, 11:30 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Ответ удален администрацией. Вопрос задан с нарушением Правил форума

Пардон, и правда тематика разная, а сполер и не открывал :-(.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 09.07.2019, 11:49
 
Ответить
СообщениеОтвет удален администрацией. Вопрос задан с нарушением Правил форума

Пардон, и правда тематика разная, а сполер и не открывал :-(.

Автор - bmv98rus
Дата добавления - 09.07.2019 в 11:30
_Boroda_ Дата: Вторник, 09.07.2019, 11:35 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Apelsinko, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеApelsinko, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - _Boroda_
Дата добавления - 09.07.2019 в 11:35
Apelsinko Дата: Вторник, 09.07.2019, 12:08 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Apelsinko, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Прошу прощения. Искал теги и не нашел. Все исправил
 
Ответить
Сообщение
Apelsinko, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Прошу прощения. Искал теги и не нашел. Все исправил

Автор - Apelsinko
Дата добавления - 09.07.2019 в 12:08
bmv98rus Дата: Вторник, 09.07.2019, 13:51 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Apelsinko, Ответ был но вот как вопрос о коде, который сносит VB код связан с
Ограничение на работу макроса по дате
???


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеApelsinko, Ответ был но вот как вопрос о коде, который сносит VB код связан с
Ограничение на работу макроса по дате
???

Автор - bmv98rus
Дата добавления - 09.07.2019 в 13:51
Apelsinko Дата: Вторник, 09.07.2019, 16:10 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
как вопрос о коде, который сносит VB код связан с ограничением на работу по дате


Если "текущая дата" > "указанной даты в коде", то "удалить код макроса", иначе "выполнить функцию"
 
Ответить
Сообщение
как вопрос о коде, который сносит VB код связан с ограничением на работу по дате


Если "текущая дата" > "указанной даты в коде", то "удалить код макроса", иначе "выполнить функцию"

Автор - Apelsinko
Дата добавления - 09.07.2019 в 16:10
bmv98rus Дата: Вторник, 09.07.2019, 20:12 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
ну ограничить - не снести к чертям, но раз ж в стартовом было, то
На доступ к модели данных VBA проекта нужно дать разрешение, аналогичное как и для работы просто макросов. Это свойство конкретного приложения, то есть если вы у себя все настроите и отладите, то на другом ПК это может не сработать. Тогда надо шаманить


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениену ограничить - не снести к чертям, но раз ж в стартовом было, то
На доступ к модели данных VBA проекта нужно дать разрешение, аналогичное как и для работы просто макросов. Это свойство конкретного приложения, то есть если вы у себя все настроите и отладите, то на другом ПК это может не сработать. Тогда надо шаманить

Автор - bmv98rus
Дата добавления - 09.07.2019 в 20:12
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!