Слово VBA меняет поле формы на число

Я использую Word VBA, чтобы создать поле формы, а затем вставить значение в это поле.

Проблема в том, что мне нужно изменить тип данных поля, которое я создал.

Код:

  ActiveDocument.Bookmarks("Loan_Amount").Select
  ActiveDocument.FormFields.Add FFHere, wdFieldFormTextInput
  ActiveDocument.FormFields("Text1").Result = Value

Охотился, но ничего не смог найти по теме. Также было бы неплохо изменить название закладки поля (по умолчанию называет себя "Text1").

1 ответ

Решение

Также было бы неплохо изменить название закладки поля (по умолчанию называет себя "Text1").

Как это?

Sub Sample()
    Dim ff As FormField

    ActiveDocument.Bookmarks("Loan_Amount").Select

    Set ff = ActiveDocument.FormFields.Add(FFHere, wdFieldFormTextInput)
    ff.Name = "BlahBlah"
End Sub

И вот пример, который вставляет текстовое поле, но изменяет его на поле даты

Sub Sample()
    Dim ff As FormField
    Set ff = ActiveDocument.FormFields.Add(FFHere, wdFieldFormTextInput)
    ff.Select
    With Selection.FormFields(1)
        '~~> Change Name Here
        .Name = "BlahBlah"
        '~~> Change Type here
        With .TextInput
            .EditType Type:=wdCurrentDateText, Default:="", Format:=""
            .Width = 0
        End With
    End With
End Sub

Другой тип, который вы можете изменить это

  1. wdCurrentDateText
  2. wdCalculationText
  3. wdCurrentTimeText
  4. wdDateText
  5. wdNumberText (Это то, что ваш вопрос запрашивается)

ПРИМЕЧАНИЕ: я предполагаю, что FFHere допустимый диапазон

Другие вопросы по тегам