Hallo Forum!
Habe hier folgendes Problem: Ich habe ein Programm mit verschiedenen Eingabenmasken, deren Inhalt durch eine Funktion tabellarisch in ein Word-Dokument exportiert werden sollen.
Es sollen nicht immer alle Inhalte exportiert werden, nur die, die auch ausgefüllt wurden. Daher habe ich eine kleine Prüfung eingebaut, die auf Inhalt von bestimmten Textboxen prüft.
PROBLEM ist hierbei, dass das Programm die jeweils neue Tabelle nicht unter die letzte anfügt, sondern überschreibt. Also habe ich nicht, wie eigentlich gewollt, erst die Tabelle GEN und dann DSA unten drunter, sondern nur die Tabelle DSA, die die Tabelle GEN überschrieben hat.
Wie setz ich die Tabellen richtig untereinander?
Hier der Quelltext:
Imports Word = Microsoft.Office.Interop.Word
Dim app As New Word.Application 'legt Objekt an, sichert Speicherplatz
Dim doc As Word.Document
Dim GENtable As Word.Table
Dim DSAtable As Word.Table
doc = app.Documents.Add() 'legt neue .doc-Datei an
' Titel
With app
.Selection.Font.Name = "Arial"
.Selection.ParagraphFormat.Alignment = _
Word.WdParagraphAlignment.wdAlignParagraphCenter
.Selection.Font.Size = 12
.Selection.Font.Bold = True
.Selection.TypeText("Bla '" & TextBox1.Text & "'")
.Selection.Font.Bold = False
.Selection.Font.Size = 10
.Selection.TypeParagraph()
.Selection.TypeParagraph()
.Selection.ParagraphFormat.Alignment = _
Word.WdParagraphAlignment.wdAlignParagraphLeft
End With
' General Information Table
GENtable = doc.Tables.Add(doc.Bookmarks.Item("\endofdoc").Range, 16, 2)
With GENtable
.Cell(1, 1).Range.Text = "GENERAL INFORMATION" 'TABELLE GENERAL
' INFORMATION
.Cell(2, 1).Range.Text = Label3.Text
.Cell(3, 1).Range.Text = Label4.Text
.Cell(4, 1).Range.Text = Label2.Text
.Cell(5, 1).Range.Text = Label7.Text
.Cell(6, 1).Range.Text = Label8.Text
.Cell(7, 1).Range.Text = Label5.Text
.Cell(8, 1).Range.Text = Label6.Text
.Cell(1, 2).Range.Text = ""
.Cell(2, 2).Range.Text = TextBox3.Text
.Cell(3, 2).Range.Text = TextBox4.Text
.Cell(4, 2).Range.Text = TextBox2.Text
.Cell(5, 2).Range.Text = DateTimePicker1.Text
.Cell(6, 2).Range.Text = DateTimePicker2.Text
.Cell(7, 2).Range.Text = TextBox5.Text
.Cell(8, 2).Range.Text = TextBox6.Text
End With
' Prüfung ob DSA
If TextBox31.Text <> "" Then
DSAtable = doc.Tables.Add(doc.Bookmarks.Item("\endofdoc").Range, _
16, 2)
With DSAtable 'entspricht: mit Word.Table als Anfang
.Cell(1, 1).Range.Text = "DSA"
.Cell(2, 1).Range.Text = Label43.Text
.Cell(3, 1).Range.Text = Label42.Text
.Cell(4, 1).Range.Text = Label41.Text
.Cell(5, 1).Range.Text = Label40.Text
.Cell(6, 1).Range.Text = Label39.Text
.Cell(7, 1).Range.Text = Label38.Text
.Cell(8, 1).Range.Text = Label37.Text
.Cell(1, 2).Range.Text = ""
.Cell(2, 2).Range.Text = TextBox31.Text
.Cell(3, 2).Range.Text = TextBox30.Text
.Cell(4, 2).Range.Text = TextBox29.Text
.Cell(5, 2).Range.Text = TextBox28.Text
.Cell(6, 2).Range.Text = TextBox27.Text
.Cell(7, 2).Range.Text = TextBox26.Text
.Cell(8, 2).Range.Text = TextBox25.Text
End With
End If Danke und Gruß,
Oliver
Beitrag wurde zuletzt am 29.09.09 um 13:47:38 editiert. |