我有一个包含大量页面的单词文档,并且在每个步骤后有一个控制复选框ActiveX
。Word中的VBA复选框
在文档的末尾有一个完成表,它具有部分的名称,当某个部分的最后一个复选框被选中时,它将该部分表格变为绿色。
因此,对于一个示例:
第1节:
文本
(复选框1)
moretext
(复选框2)
evenmoretext
(复选框3)
完成列表:
第1
我想实现是有一些VBA,将检查,看看是否所有的复选框被选中,然后进行第一部分在最后绿色的桌子上。
我目前有它的工作,所以它变成绿色,但只有当最后一个复选框(3)被选中。
有没有办法做到这一点?
还有另外一个问题:我在文档的顶部有一个按钮,它隐藏了整个文档中的几个部分,当按下时,它会检查它将首先隐藏的任何复选框。 (我使用分页符来显示哪些部分我想隐藏)
这是一个问题,但是因为ActiveX
复选框没有隐藏,所以我写了一些VBA而不是使它们超级小,然后调整它们之后的大小完成。
这里是VBA我到目前为止:
Private Sub DTSCheckBox_Click()
If (DTSCheckBox.Value = True And AdminCheckBox.Value = True) Then
Section2Complete.Caption = "Complete"
Section2Complete.BackColor = RGB(0, 255, 0)
CheckAndAmmendBy.Caption = UpgradeTechnic.Text
Else
Section2Complete.Caption = "Outstanding"
Section2Complete.BackColor = RGB(255, 0, 0)
CheckAndAmmendBy.Caption = ""
End If
End Sub
Private Sub V4ToV6Button_Click()
ActiveDocument.Sections(2).Range.Font.Hidden = True
ActiveDocument.Sections(4).Range.Font.Hidden = True
ActiveDocument.Sections(6).Range.Font.Hidden = True
ActiveDocument.Sections(8).Range.Font.Hidden = True
Section15Complete.Caption = "": Section15Complete.BackColor = RGB(255, 255, 255)
ActiveDocument.Tables(1).Rows(15).SetHeight 1, wdRowHeightExactly
SQLScriptCheckbox.Value = True
SQLScriptCheckbox.Height = 1
SQLScriptCheckbox.Width = 1
SQLScriptCheckbox.Enabled = False
RestoreEmailScriptCheckBox.Value = True
RestoreEmailScriptCheckBox.Height = 1
RestoreEmailScriptCheckBox.Width = 1
RestoreEmailScriptCheckBox.Enabled = False
SQLCleanScriptCheckBox.Value = True
SQLCleanScriptCheckBox.Height = 1
SQLCleanScriptCheckBox.Width = 1
SQLCleanScriptCheckBox.Enabled = False
SandboxJobHasBeenSetUpCheckBox.Value = True
SandboxJobHasBeenSetUpCheckBox.Width = 1
SandboxJobHasBeenSetUpCheckBox.Height = 1
SandboxJobHasBeenSetUpCheckBox.Enabled = False
End Sub
真棒男人,谢谢寻求帮助,这是一种享受! – Steve101
@ Steve101如果这个答案适合你,你可以通过点击绿色的选中标记来“接受”答案。 – Blackhawk