可以請某人以編程方式幫助MS Word的ContentControl格式化。 我寫了一個代碼,根據它的標籤轉到特定的ContentControl。通過轉到由其標籤指定的每個ContentControl,此代碼運行良好。不過,我只需要格式化頁面編號2上的ContentControls。在特定頁面上格式化內容控件
我試圖限制循環只爲特定的書籤,頁面,表,但它不起作用。我不需要瀏覽文檔中的每個ContentContorl,它需要很長時間,這與宏的目的相反。我正在創建這個宏來加快報表格式。
這裏是我的代碼:
Sub EditCCbyTag()
Dim cc As ContentControl
Dim strText As String
Dim oThisdoc As Word.Document
Dim oCC1 As ContentControl
Dim oCCs1 As ContentControls
Dim oCC2 As ContentControl
Dim oCCs2 As ContentControls
Dim oCC3 As ContentControl
Dim oCCs3 As ContentControls
Set oThisdoc = ActiveDocument
Set oCCs1 = oThisdoc.SelectContentControlsByTag("DgDocDate01")
For Each oCC1 In oCCs1
If oCCs1.Count > 0 Then
oCC1.Range.Select
Dialogs(wdDialogContentControlProperties).Show
strText = InputBox("Please enter the DATE of report")
Set cc = ActiveDocument.SelectContentControlsByTag("DgDocDate01")(1)
cc.Range.Text = strText
End If
Next oCC1
' the next CC DgDnvReportNo01
Set oThisdoc = ActiveDocument
Set oCCs2 = oThisdoc.SelectContentControlsByTag("DgDnvReportNo01")
For Each oCC2 In oCCs2
If oCCs2.Count > 0 Then
oCC2.Range.Select
Dialogs(wdDialogContentControlProperties).Show
strText = InputBox("Please enter the NUMBER of report")
Set cc = ActiveDocument.SelectContentControlsByTag("DgDnvReportNo01")(1)
cc.Range.Text = strText
End If
Next oCC2
' the next CC DgRevNo01
Set oThisdoc = ActiveDocument
Set oCCs3 = oThisdoc.SelectContentControlsByTag("DgRevNo01")
For Each oCC3 In oCCs3
If oCCs3.Count > 0 Then
oCC3.Range.Select
Dialogs(wdDialogContentControlProperties).Show
strText = InputBox("Please enter the REVISION of report")
Set cc = ActiveDocument.SelectContentControlsByTag("DgRevNo01")(1)
cc.Range.Text = strText
End If
Next oCC3
MsgBox "Done!"
End Sub
「試圖限制循環只爲特定的書籤,頁面,表,但它不起作用」它不工作?這肯定是最有效的方法,我相當肯定它可以工作... –