我在Microsoft Word中創建表單。我有幾個'文本表單域',其中一些我想限制,所以用戶只能輸入數字。我不明白爲什麼Microsoft允許您在允許輸入任何值時將「類型」更改爲「數字」。因爲這似乎是我轉向VBA的情況。MS Word文檔表格 - 檢查退出時的文本字段值
我試圖運行一個宏,當用戶退出這些字段之一,以確保輸入有效。我寧願不爲每個我想限制爲數字的字段創建一個新的宏。
我想我的問題是我不知道如何獲得當前字段的結果。我可以爲每個字段創建一個不同的宏,並通過明確指定其名稱來獲得結果,但似乎更聰明的方式存在。
這是我到目前爲止。
Sub validateNumericFields()
'Check to see if the value in the current field is numeric
'If it is not, send a message to the user, and set value to default value
If IsNumeric(Selection.Fields(1).Result) = False Then
MsgBox "You must enter a valid number.", vbExclamation
Selection.Fields(1).Result = Selection.Fields(1).TextInput.Default
End If
End Sub
在我們討論您的問題之前,我們需要確保我們瞭解它。你似乎是「混合和匹配」的術語,這使得很難確定你有什麼。 「UserForm」是一個VBA表單;它有「文本框控件」。 Word文檔可以作爲表單進行保護,並具有「文本表單域」。你有後者而不是前者是正確的嗎? –
是的,後者是正確的。我還沒有使用VBA創建輸入字段。我已將「傳統文本表單域」插入到Word文檔中,並將限制編輯,因此只有表單域可由用戶編輯。 – Jake
您使用的是哪個版本的Word?當我將文本框表單字段的類型設置爲數字時,它不會讓我在其中鍵入文本。文本變成0(零)。 –