Как я могу сделать ссылку на поля в VBA и определить значение для них из других полей? - PullRequest
0 голосов
/ 07 июня 2019

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

Как можно кодировать быструю модель для ввода даты, а затем рассчитать разницу от этой даты до Сейчас, а затем автоматически ввести результат в поля?

Я пытался использовать InputBoxдля этого, но у меня возникают проблемы с определением значения, как я привык делать в Excel, где объекты Cell или Range находятся как в, так и в выходных данных для Value.

Установить myRange = Selection.Fields (1) .Result 'Я хотел сделать что-то вроде этого: ActiveDocument.Field (1) = DiffDate ("d", Now, DER) & "days."

1 Ответ

0 голосов
/ 08 июня 2019

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

Sub Demo()
MsgBox DateDiff("d", Now(), ActiveDocument.Fields(1).Result)
End Sub

Запись в результат поля ненадежна, так как все, что вы написали, будет потеряно сразу же после обновления поля;вместо этого вы должны написать в закладку, ячейку таблицы или элемент управления содержимым.Вы даже можете написать в поле формы в документе с примененной защитой «заполнения форм».Чтобы написать в закладку, вы можете использовать такой код:

Sub Demo()
ActiveDocument.Bookmarks("MyBookmark").Range.Text = DateDiff("d", "1/1/2000", Now())
End Sub
...