[英]How to properly access Legacy Form Field checkboxes in Word 2013 VBA?
出於這個問題,我試圖獲取並設置“舊版表單字段”復選框(MS Word 2013)的值,而無需在文檔上滾動/跳轉。 對於文本字段,可以通過以下方式執行
myField = ActiveDocument.Bookmarks("myField").Range.Fields(1).Result ' get
ActiveDocument.Bookmarks("myField").Range.Fields(1).Result.Text = myValue ' set
但這不適用於復選框。 我可以采取哪些命令來相應地訪問復選框,而又不會奇怪地跳來跳去?
我對此進行了一些測試,看起來您可以簡單地使用CheckBox.Value
屬性訪問復選框的值,而無需更改文檔的焦點。 將以下代碼粘貼到常規模塊中,並測試這兩種訪問文本框值的方式之間的區別。
Public Sub TestCheckboxAccess()
Dim ctl As FormField
For Each ctl In ActiveDocument.FormFields
' Loop through check boxes in current document
If ctl.Type = wdFieldFormCheckBox Then
' This does not scroll the document
Debug.Print ctl.CheckBox.Value
' This does scroll the document
'Debug.Print ctl.Result
End If
Next ctl
End Sub
請注意,在我的系統上,即使不關閉ScreenUpdating
此代碼示例也可以工作。
試試看,看看它是否可以為您解決問題!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.