所以我创建了一个表格,用户可以填写表格。他们选择一个按钮,将整个表单复制到剪贴板上。但是,如果他们没有填写某个部分,或者如果他们键入 NA,我希望表单禁用复制。目前,当表单执行此操作时,它仅在底部单元格上留下 NA 或空白答案时才有效。如何编辑范围以包含整个表格(单元格 1-15)?下面是我的代码。(编辑:修改为已回答,但是收到请求的成员不存在的错误。FormFields 从表的第 2 行开始。
Private Sub Contactcopy_Click()
' Contact Copy Macro
'Unprotect the file
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:=""
End If
T = 1
For X = 2 To 15
Set r = ActiveDocument.Tables(2).Rows(X).Cells(1).Range.FormFields(1)
If ((r = "NA") Or (r = "")) Then
MsgBox "BLANK QUESTION OR NA ENTERED"
T = 0
Exit For
Else
With ActiveDocument
Set myRange = .Range(.Tables(2).Rows(2).Cells(1).Range.Start, _
.Tables(2).Rows(15).Cells(1).Range.End)
myRange.Select
Selection.Copy
End With
End If
Next X
'Reprotect the document.
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=""
End If
End Sub