Код в вопросе находится на правильном пути для выполнения вычисления, ему просто нужно использовать переменную (и) для получения результатов и выполнения вычисления немного по-другому.
Требуется одна переменная для каждого элемента, который будет включен в расчет.
Поскольку вычисления выполняются с числами, также полезно принудительно преобразовать текст (String
) в числовое значение (функция Val
), хотя, если пользователь осторожен, в этом нет особой необходимости VBA - но хорошая привычка.
Sub CalculateFF()
Dim ff1 As String, ff2 As String
ff1 = ActiveDocument.FormFields("Text61").Result
ff2 = ActiveDocument.FormFields("Amount247").Result
ActiveDocument.FormFields("Text71").Result = Val(ff1) * Val(ff2)
End Sub
Обратите внимание, что не обязательно использовать код для выполнения простых вычислений в документах Word, содержащих поля форм, где активирована защита форм. Можно использовать поле формы типа calculation
, которое выполняет вычисление без кода. Если такой подход представляет интерес, спросите у конечного пользователя, такого как Super User.