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

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

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

Код:

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

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


person Mikey    schedule 25.07.2012    source источник


Ответы (1)


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

Так?

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 является допустимым диапазоном

person Siddharth Rout    schedule 25.07.2012
comment
Потрясающе, работает на название букмекерской конторы. Любая идея, как изменить тип? Используя вышеуказанный метод, он дает мне Невозможно назначить свойство только для чтения - person Mikey; 26.07.2012
comment
Я обновил сообщение, которое также отвечает на ваш второй вопрос :) Возможно, вы захотите обновить страницу? - person Siddharth Rout; 26.07.2012
comment
Аааааааа, очень обрадовался! Вернусь и проголосую за это, когда у меня будет достаточно репутации :) - person Mikey; 26.07.2012