2015-05-20 3 views
0

У меня есть 3 поля старой формы с именем text1, text2 и text3. Мой пример кода:VBA MS-Word унаследованная форма полевого расчета

Option Explicit 

Public a as integer 
Public b as integer 
Public c as integer 

Sub TextA() 
    If ActiveDocument.FormFields("text1").Result = "" Then 
    MsgBox "You must specify a number. If none, enter a zero." 
    End If 
    a = ActiveDocument.FormFields("text1").Result 
End Sub 

Sub TextB() 
    If ActiveDocument.FormFields("text2").Result = "" Then 
    MsgBox "You must specify a number. If none, enter a zero." 
    End If 
    b = ActiveDocument.FormFields("text2").Result 
End Sub 

Sub CalculateC() 
    c = a + b 
End Sub 

Теперь text1 и text2 запустить 1-ые две подводные лодки, соответственно, на выходе (набор в их меню свойств) ... Я хочу text3 для автоматического отображения с. Я думаю, что могу использовать свойство поля формы «Рассчитать» или запустить суб (запустить на запись, возможно?), Или комбинацию того и другого, но не может заставить его работать. Какие у меня варианты?

ответ

0

Я исследовал еще несколько и выяснил, как работают вычисления в полях ... Я проверяю «Вычислить на выходе» для text1 & text2 и выберите «Расчет» как тип text3 с выражением «= text1 + text2 «и не требуется VBA. Тогда у меня может быть макрос для записи результатов text1 + text2 run при выходе в text2, если мне нужно будет захватить эту переменную для последующего использования.

Смежные вопросы