Excel VBA: отключение кода после истечения срока - PullRequest
0 голосов
/ 17 мая 2018

Иметь клиента, который хочет "закатить" свое приложение Excel, чтобы код VBA не работал в 120d.Они понимают, что любое решение не будет работать на 100%, но есть ли какие-либо идеи, кроме проверки текущей даты по сравнению с сохраненной датой первого использования?

1 Ответ

0 голосов
/ 18 мая 2018

Вы хотите сравнить различия между двумя датами, причем одна из дат является произвольной датой «запуска», а вторая - сегодняшней.

Самый простой способ - использовать функцию DateDiff (https://www.techonthenet.com/excel/formulas/datediff.php):

DateDiff("d","5/1/2018",Date())

Это вернет число, представляющее количество дней («d» ... если вы хотите, чтобы ответ был в месяцах, вы можете использовать «m» и т. Д.) Между двумядаты. Так как я сделал это 17.05.1818, моя функция Date () возвращает 17.05.17, и это берет разницу между ними, выпуская 16.

Таким образом, код должен быть:

Dim dif As Single
Dim launch As String

launch = "1/1/2018" 'arbitrary start date

dif = DateDiff("d", launch, Date())

If dif > 120 Then 'on May 17th, this number is 136
    MsgBox "Your VBA is out of date"
    Exit Sub
Else
    'Do the rest of your code
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...