在Word中添加新页面,同时从VB自动执行。净

时间:2017-07-27 06:29:52

标签: vb.net ms-word

我已经完全能够自动从Word中的Excel条目创建文本。不过,我的任务是按页面分隔条目。如何告诉自动化在下一页继续写作? 我的代码:

    Private Sub AddText(ByVal text As String, oDoc As Word.Document, oPara3 As Word.Paragraph, r As Integer)
    oPara3.Range.Font.Bold = False
    oPara3.Range.Font.Underline = False
    oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
    oPara3.Range.Text = text
    oPara3.Range.Font.Bold = False
    oPara3.Format.SpaceAfter = 0
    oPara3.Range.InsertParagraphAfter()
End Sub


Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    Dim s As Integer = 0
    Dim oWord As Word.Application
    Dim oDoc As Word.Document
    Dim oPara3 As Word.Paragraph
    Dim oRng

    oWord = CreateObject("Word.Application")
    oRng = oWord.Selection
    oWord.Visible = True
    oDoc = oWord.Documents.Add

    For r = 6 To cmax
        oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
        oPara3.Range.Text = "Abhängigkeiten von " & sheet.Range("C" & r).Value.ToString
        oPara3.Range.Font.Bold = True
        oPara3.Format.SpaceAfter = 0
        oPara3.Range.InsertParagraphAfter()

        If sheet.Range("F" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " ist vom Netzwerk abhängig." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("G" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " ist vom VPN abhängig." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("H" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " ist vom Hypervisor abhängig." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("I" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " ist von der Domäne abhängig." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("J" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " ist von den Netzdiensten abhängig." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("K" & r).Value.ToString = 1 Then
            AddText(sheet.Range("C" & r).Value.ToString & " hat für das Unternehmen eine geringe Bedeutung." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("K" & r).Value.ToString = 2 Then
            AddText(sheet.Range("C" & r).Value.ToString & " hat für das Unternehmen eine unterdurchschnittliche Bedeutung." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("K" & r).Value.ToString = 3 Then
            AddText(sheet.Range("C" & r).Value.ToString & " hat für das Unternehmen eine durchschnittliche Bedeutung." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("K" & r).Value.ToString = 4 Then
            AddText(sheet.Range("C" & r).Value.ToString & " hat für das Unternehmen eine hohe Bedeutung." & vbNewLine, oDoc, oPara3, r)
        End If
        If sheet.Range("K" & r).Value.ToString = 5 Then
            AddText(sheet.Range("C" & r).Value.ToString & " hat für das Unternehmen eine unersetzliche Bedeutung." & vbNewLine, oDoc, oPara3, r)
        End If
        Next
    Next
End Sub

正如我所说,代码有效。我找不到插入新页面的方法。非常感谢你提前!

1 个答案:

答案 0 :(得分:0)

您可以在周期内使用oWord.Selection.InsertNewPage()或要插入新页面的位置。
Selection.InsertNewPage方法(Word) - 在以下位置插入新页面插入点的位置。
有关详细信息,请查看选择对象https://msdn.microsoft.com/VBA/Word-VBA/articles/selection-object-word