我已经完全能够自动从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
正如我所说,代码有效。我找不到插入新页面的方法。非常感谢你提前!
答案 0 :(得分:0)
您可以在周期内使用oWord.Selection.InsertNewPage()
或要插入新页面的位置。
Selection.InsertNewPage方法(Word) - 在以下位置插入新页面插入点的位置。
有关详细信息,请查看选择对象:https://msdn.microsoft.com/VBA/Word-VBA/articles/selection-object-word