Я создаю макрос для автоматизации создания счетов-фактур. Одна вещь, которую он будет делать, это присвоить сегодняшнюю дату полю формы в счете-фактуре и рассчитать дату платежа, добавив дни (вставленные пользователем в поле формы как целое число) на сегодняшнюю дату.word vba date overflow
Я получаю очень простую ошибку на макрос, где следующий код работает в «ошибки 6: переполнение»:
dim invDate as Date, dueDate as Date
dim days as Integer
dim invDateFF as Formfield, dueDateFF as Formfield, daysFF as Formfield
set invDateFF = Activedocument.Formfields("Date")
set dueDateFF = Activedocument.Formfields("DueDate")
set daysFF = Activedocument.Formfields("Days")
invDate = Format(Now, "dd/MM/yyyy")
days = daysFF.Result
dueDate = DateAdd("d", days, invDate)
invDateFF.Result = invDate
Обе переменные (invDate и DueDate) переполнены ...
Поля формы являются текстовыми полями формы и имеют тип даты. Есть ли что-то очевидное, что мне не хватает?
Благодаря
Код работает для меня с Word2013. Вы можете использовать Date вместо Format (Теперь, «dd/MM/yyyy») – INOPIAE
Я нахожусь в Word 2016 для Mac. Может ли это иметь какое-то отношение к языковым настройкам компьютера? то есть компьютер находится на испанском языке, но код работает на английском языке; возможно, форматы дат разные ...? Что вы имеете в виду с «вы могли бы использовать Date вместо? Thx –
Что такое значение daysFF.Result? Используйте debug.print daysFF.Result, если вы не знаете сейчас. – newguy