Frage zu Datagridview Arbeitet extrem langsam in Verbindung mit Word Interop
Hallo.
Ich habe diesmal einfach nur ein hoffentlich simples Problem.
Ich habe eine Anwendung geschrieben, die mir eine Wordvoralage ausfüllt. Dabei füllt der User mit Hilfe der Anwendung
ein komplexes Formular aus. Wenn er das getan hat soll damit eine vorgefertigte Wordvorlage gefüllt werden.
Einzelheiten darf ich nicht schreiben. (Datenschutz)
Ich habe aber ein Problem welches ich mit Google und anderen diversen Foren nicht behoben kriege.
Und zwar dauert es eine Ewigkeit bis alle Daten in die Vorlage übertrugen wurden.
Warum weiß ich leider nicht.
Meine Wordvorlage enthält FormFields. Allen habe ich einen Namen gegeben.
Diese spreche ich dann so in meiner Anwednugn an:
Davon gibt es 23.
Dann habe ich noch einen Datagridview. Der fungiert als Tabelle.
Die Daten werden ausgelesen und dann verarbeitet und dann in eine Wordtabelle übertragen.
Das sieht bei mir so aus:
Der Code funktioniert. Aber es dauer einfach zu lange bis die Tabelle komplett übertragen wurde.
Ich benutze einfach die Objekt Library von Word um mit der Wordvorlage zu "kommunizieren".
Ich glaube ich benutze diesen Datagridview einfach falsch. Zumal ich gerade dieses Value bei Cells(a) nirgends finden kann.
Ich habe einfach probiert bis ich die Zellen im Datagridview abfragen konnte. Mit xyz.Value hat es funktioniert.
Aber dieses Value kam nicht als Auswahl bei meinem VB2008.
Könnt ihr mir einen Tipp geben wie ich meinen Code schneller machen kann?
Ich wäre auch unendlich dankbar.
Schöne Grüße!
Florengray
Ich habe diesmal einfach nur ein hoffentlich simples Problem.
Ich habe eine Anwendung geschrieben, die mir eine Wordvoralage ausfüllt. Dabei füllt der User mit Hilfe der Anwendung
ein komplexes Formular aus. Wenn er das getan hat soll damit eine vorgefertigte Wordvorlage gefüllt werden.
Einzelheiten darf ich nicht schreiben. (Datenschutz)
Ich habe aber ein Problem welches ich mit Google und anderen diversen Foren nicht behoben kriege.
Und zwar dauert es eine Ewigkeit bis alle Daten in die Vorlage übertrugen wurden.
Warum weiß ich leider nicht.
Meine Wordvorlage enthält FormFields. Allen habe ich einen Namen gegeben.
Diese spreche ich dann so in meiner Anwednugn an:
With Word_Document.FormFields
.Item("xyz").Result = TextBox_xyz.Text
Dann habe ich noch einen Datagridview. Der fungiert als Tabelle.
Die Daten werden ausgelesen und dann verarbeitet und dann in eine Wordtabelle übertragen.
Das sieht bei mir so aus:
For a = 1 To DataGridView1.Columns.Count - 2
For b = 1 To DataGridView1.Rows.Count - 1
Word_Document.Tables.Item(Wordtable).Cell(b + 11, a).Range.Text = DataGridView1.Rows(b - 1).Cells(a).Value
Next
Next
Der Code funktioniert. Aber es dauer einfach zu lange bis die Tabelle komplett übertragen wurde.
Ich benutze einfach die Objekt Library von Word um mit der Wordvorlage zu "kommunizieren".
Ich glaube ich benutze diesen Datagridview einfach falsch. Zumal ich gerade dieses Value bei Cells(a) nirgends finden kann.
Ich habe einfach probiert bis ich die Zellen im Datagridview abfragen konnte. Mit xyz.Value hat es funktioniert.
Aber dieses Value kam nicht als Auswahl bei meinem VB2008.
Könnt ihr mir einen Tipp geben wie ich meinen Code schneller machen kann?
Ich wäre auch unendlich dankbar.
Schöne Grüße!
Florengray
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 134074
Url: https://administrator.de/contentid/134074
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
6 Kommentare
Neuester Kommentar