我目前的项目是为一位同事制作一份清单,因为我喜欢把所有事情都复杂化,所以我正在运行宏,让他在完成工作时检查一下。当他完成工作时,工作描述将从标题样式更改为正常,然后更新 ToC。所有这一切都有效,但我有时会遇到内容控件保持选中状态的问题。我通常可以检查和取消检查一次或两次没有问题,但最终由于某种原因光标不会移出复选框,因此后续点击不会触发OnEnter
.
Private Sub Document_ContentControlOnEnter(ByVal CCtrl As ContentControl)
With CCtrl
If .Type = wdContentControlCheckBox Then
If .Checked = True Then
.Range.Paragraphs.First.Style = wdStyleNormal
ActiveDocument.TablesOfContents(1).Update
Selection.Collapse direction:=wdCollapseEnd
Else
.Range.Paragraphs.First.Style = wdStyleHeading2
ActiveDocument.TablesOfContents(1).Update
Selection.MoveRight 1
End If
End If
End With
End Sub
有没有办法强制 word 取消选择内容控件并将光标移动到同一行的某处?
我试过Selection.MoveDown 1
, Selection.Collapse direction:=wdCollapseEnd
, 也Selection.MoveEnd
没有工作。