首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第一次成功运行后的“运行时错误92: For循环未初始化”错误

第一次成功运行后的“运行时错误92: For循环未初始化”错误
EN

Stack Overflow用户
提问于 2022-05-17 08:16:27
回答 1查看 72关注 0票数 0

我应该修改一位前同事的工具。这将基于Excel表创建Word文档(第1列=标题,第2列=文本)。从长远来看,Excel表应该是可扩展的。可以通过复选框选择创建哪些章节。但是,如果使用该工具不止一次,则会出现运行时错误92。由于我使用的掩码也插入了文档中的数据,因此不应该重新启动该工具。我是一个完全的初学者,会非常高兴的提示。在For-循环之后是一个格式化标题的块。也许这也是错误所在。事先非常感谢!

我在这里看到了一个类似的问题,不幸的是,它并没有帮助我。Can't solve Run-time error 92: For loop not initialized. Any idea?

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

回答已采纳

发布于 2022-05-18 15:19:23

尝试在下一个X之后放置一个On Error Goto 0。当前,您的on语句将导致下一个x之后的代码中出现一个错误,从而跳回错误标签。(在for循环中)在for循环完成之后。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72270445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档