我應該修改一個前同事的工具。這將創建一個基于 Excel 表格的 Word 檔案(第 1 列 = 標題,第 2 列 = 文本)。從長遠來看,Excel 表格應該是可擴展的。可以通過復選框選擇創建哪些章節。但是,如果多次使用該工具,則會出現運行時錯誤 92。由于我使用的掩碼也插入了檔案中的資料,因此不必重新啟動該工具。我是一個完整的初學者,會很高興得到一個小費。在 For 回圈之后是一個格式化標題的塊。也許這也是錯誤所在。提前謝謝了!
我在這里看到了類似的問題,不幸的是它對我沒有幫助。 無法解決運行時錯誤 92:未初始化 For 回圈。任何的想法?
With wdApp.Selection
'Text body is created from Excel
Dim oChild As Node
For Each X In tv_Texte.Nodes
If X.Checked And X.Children Then
.InsertBreak 7
.Style = wddoc.Styles("überschrift 1")
.TypeText Text:=X.Text
.TypeParagraph
Set oChild = X.Child
Do
On Error GoTo Error:
If oChild.Checked Then
'Search entry in table
i = 1
Do Until IsEmpty(Workbooks(1).Sheets(X.Text).Range("A" & i 3)) Or (Workbooks(1).Sheets(X.Text).Range("A" & i 3) = oChild.Text)
i = i 1
Loop
.Style = wddoc.Styles("überschrift 2")
.TypeText Text:=oChild.Text
.TypeParagraph
.Style = wddoc.Styles("Standard")
If IsEmpty(Workbooks(1).Sheets(X.Text).Range("B" & i 3).Value) Then
MsgBox "Fehler beim Importieren der überschrift: " & vbCrLf & X.Text & " -> " & oChild.Text & vbCrLf & "Kein Text hinterlegt!"
Else
'Insert chapter text
wdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
.TypeText Text:=Replace(Workbooks(1).Sheets(X.Text).Range("B" & i 3).Value, "vbTab", vbTab)
.TypeParagraph
End If
End If
Set oChild = oChild.Next
Error:
Loop Until oChild Is Nothing
End If
Next X
'This block creates the headings:
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
.NumberFormat = "%1"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(0.76)
.TabPosition = wdUndefined
.ResetOnHigher = 0
.StartAt = 1
.LinkedStyle = "überschrift 1"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(2)
.NumberFormat = "%1.%2"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(1.02)
.TabPosition = wdUndefined
.ResetOnHigher = 1
.StartAt = 1
.LinkedStyle = "überschrift 2"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(3)
.NumberFormat = "%1.%2.%3"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(1.27)
.TabPosition = wdUndefined
.ResetOnHigher = 2
.StartAt = 1
.LinkedStyle = "überschrift 3"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(4)
.NumberFormat = "%1.%2.%3.%4"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(1.52)
.TabPosition = wdUndefined
.ResetOnHigher = 3
.StartAt = 1
.LinkedStyle = "überschrift 4"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(5)
.NumberFormat = "%1.%2.%3.%4.%5"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(1.78)
.TabPosition = wdUndefined
.ResetOnHigher = 4
.StartAt = 1
.LinkedStyle = "überschrift 5"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(6)
.NumberFormat = "%1.%2.%3.%4.%5.%6"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(2.03)
.TabPosition = wdUndefined
.ResetOnHigher = 5
.StartAt = 1
.LinkedStyle = "überschrift 6"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(7)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(2.29)
.TabPosition = wdUndefined
.ResetOnHigher = 6
.StartAt = 1
.LinkedStyle = "überschrift 7"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(8)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7.%8"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(2.54)
.TabPosition = wdUndefined
.ResetOnHigher = 7
.StartAt = 1
.LinkedStyle = "überschrift 8"
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(9)
.NumberFormat = "%1.%2.%3.%4.%5.%6.%7.%8.%9"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(0)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(2.79)
.TabPosition = wdUndefined
.ResetOnHigher = 8
.StartAt = 1
.LinkedStyle = "überschrift 9"
End With
ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = ""
.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
ListGalleries(wdOutlineNumberGallery).ListTemplates(1), _
ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
DefaultListBehavior:=wdWord10ListBehavior
.Delete Unit:=wdCharacter, Count:=1 'Empty chapter is created and deleted
End With
uj5u.com熱心網友回復:
嘗試在 Next X 之后放置 On Error Goto 0。目前,您的 on error 陳述句將導致 Next x 之后的代碼中出現錯誤以跳回錯誤標簽。(在 for 回圈內)在 for 回圈完成后。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/478310.html
下一篇:串列元素在for回圈R中被覆寫?
