Jump to content

aus datagrid lesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben

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")

Geschrieben

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

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...