-Phoenix- 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 hallo, ich hab folgendes problem. ich hab ein visual basic programm geschrieben das daten in einem datagrid ausgibt. nun würde ich diese daten gerne in einer tabelle in word ausgeben lassen, hab nur leider keine ahnung danke schonmal Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 Hi Phoenix, das ist schon ein bisschen allgemein, ohne Code ist es recht schwierig das zu beantworten ... aber im Prinzip läuft es so: Du initialisierst dir ein Word.Application-Objekt und ein zugehöriges Word.Document-Objekt und überträgst die Daten vom DataGrid in eine (neue) Tabelle im Word.Document (je nach dem, ob die Datei neu erzeugt wird oder bereits besteht bzw. evtl. die Tabelle schon vorhanden ist, oder dynamisch erstellt werden muss). Grüße Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 das ding ist ja ich hab ja kein beispiel. ich hab im i-net auch keins gefunden. das mit dem aufruf von word und dem erstellen der tabelle hab ich ja schon ich hab nur keine ahnung wie ich die mit den werten des datagrids füllen kann. also ein beispiel dafür würde mir schon wahnsinnig helfen Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 Das ist im Prinzip nicht sehr schwer: With Word.Application .Selection.TypeText(Text:="Nr") .Selection.MoveRight(Unit:=WdUnits.wdCell) .Selection.Font.Bold = True .Selection.Font.Size = 14 .Selection.Font.Color = WdColor.wdColorBlue .Selection.TypeText(Text:="Nachname") .Selection.MoveRight(Unit:=WdUnits.wdCell) .Selection.Font.Bold = True .Selection.Font.Size = 14 .Selection.Font.Color = WdColor.wdColorBlue .Selection.TypeText(Text:="Vorname") 'usw. Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 sagt zB .Selection.TypeText(Text:="Vorname") aus welche spalte aus dem datagrid gelesen werden soll? Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 TypeText := "tippt" einen Text ... MoveRight(Unit:=WdUnits.wdCell) := "springt" zur nächsten Zelle (nach rechts) ... er beginnt bei der ersten Zelle der Tabelle Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 woher weiß der den das er sich die werte aus dem datagrid ziehen soll? Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 so sieht der quellcode aus Dim oTable As Word.Table Dim oWord As Word.Application oWord = New Word.Application Dim oDoc As Word.Document Dim wdUnits As Word.WdUnits oWord.Visible = True oDoc = oWord.Documents.Add(Template:="C:\dok2.doc", NewTemplate:=False) oDoc.FormFields.Item("Name").Range.Text = txtName.Text oDoc.FormFields.Item("PLZ").Range.Text = txtPLZ.Text oDoc.FormFields.Item("Ort").Range.Text = txtOrt.Text 'With Word.Application oWord.Selection.TypeText(Text:="Nr") oWord.Selection.MoveRight(Unit:=wdUnits.wdCell) oWord.Selection.Font.Bold = True oWord.Selection.Font.Size = 14 oWord.Selection.TypeText(Text:="Nachname") oWord.Selection.MoveRight(Unit:=WdUnits.wdCell) oWord.Selection.Font.Bold = True oWord.Selection.Font.Size = 14 oWord.Selection.TypeText(Text:="Vorname") Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 Im Prinzip machst das so: Dim oWord As Word.Application oWord = New Word.Application With oWord .Visible = True .Documents.Add(DocumentType:=WdNewDocumentType.wdNewBlankDocument) .ActiveDocument.Tables.Add(Range:=.Selection.Range, NumRows:= DataGrid1.VisibleRows, NumColumns:= DataGrid1.VisibleCols) .Selection.TypeText(Text:=DataGrid1.Columns("ErsterSpaltenName")) .Selection.MoveRight(Unit:=WdUnits.wdCell) .Selection.TypeText(Text:="DataGrid1.Columns("ZweiterSpaltenName")) 'usw. bis du den kompletten Kopf befüllt hast --> mit MoveRight immer zur nächsten Zelle springen 'danach gehst du weiter Zeile für Zeile durch das DataGrid und überträgst die Daten End With Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 VisibleCols, VisibleRows,Columns wird mir als Fehler angezeigt, da das kein Member ist von System.Windows.Forms.Datagrid Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 kann ich das durch was ersetzten oder muss ich dem noch was über imports hinzufügen? Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 8. Dezember 2005 Melden Teilen Geschrieben 8. Dezember 2005 Mir dünkt, du benutzt VB.NET ... die Info wäre ein Stück früher durchaus von Nutzen gewesen ;) Kann ich leider erst heute abend antworten, da ich momentan an keine VB.NET-IDE ran komme. Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 jo nutze VB.Net dann dank dir schon mal heute abend reicht ;-) Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 8. Dezember 2005 Autor Melden Teilen Geschrieben 8. Dezember 2005 :( Zitieren Link zu diesem Kommentar
-Phoenix- 10 Geschrieben 11. Dezember 2005 Autor Melden Teilen Geschrieben 11. Dezember 2005 hat vllt noch wer ne idee wie ich das schaffen kann? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.