Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Frage zu Datagridview Arbeitet extrem langsam in Verbindung mit Word Interop

Frage Entwicklung Basic

Mitglied: florengray

florengray (Level 1) - Jetzt verbinden

21.01.2010 um 19:49 Uhr, 5678 Aufrufe, 6 Kommentare

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:
01.
With Word_Document.FormFields 
02.
 
03.
                .Item("xyz").Result = TextBox_xyz.Text
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:
01.
For a = 1 To DataGridView1.Columns.Count - 2  
02.
                
03.
For b = 1 To DataGridView1.Rows.Count - 1 
04.
 
05.
Word_Document.Tables.Item(Wordtable).Cell(b + 11, a).Range.Text = DataGridView1.Rows(b - 1).Cells(a).Value 
06.
 
07.
Next 
08.
 
09.
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
Mitglied: dog
21.01.2010 um 20:00 Uhr
Wäre es nicht vielleicht schlauer anstatt sich Spalten-Zeilen-Weise Zeilen-Splaten-Weise fortzubewegen?

Am Besten du findest erstmal heraus was so lange dauert.
Sprich einmal führst du nur das Abrufen aus dem DataGridView und einmal nur das Zuweisen nach Word durch (mit statischem Text).

Grüße

Max
Bitte warten ..
Mitglied: florengray
21.01.2010 um 20:22 Uhr
Hallo!

Also das mit dem Datagridview dauert so lange.
Da ist es nicht mal linear ansteigend. Also nicht 5 Zeilen = 30 Sekunden und 10 Zeilen 60 sondern sogar 80 Sekunden.
Ja das mit dem Zeilenweise ist vielleicht richtig. Aber es dürfte doch egal sein ob ich z.B. 20 Zellen so oder so abfrage.
Das mit den Formfields geht noch. Ich habe mir das mal angeschaut mit Application.visible = True
Da geht das richtig flott. Wenn ich aber die Zeit messe wenn ich App.visible = False mache dauert es komischerweise länger.
Wenn ich vor dem Durchlauf dort einen Break setze und etwas warte und dann den Code weiter ausführen lasse, dann geht es noch schneller.
??? Nun verstehe ich gar nichts mehr. ??? Ist die Schnittstelle einfach so lam?
Wenn ich mir die Mühe mache und tausende von Varibalen anlege die mit dem Event TextChanged immer mit dem neuen Wert aktualisiert werden und diese dann direkt nach Word schicke dann geht es auch schon sehr schnell.
Also gibt es ein Problem mit dem ?Datenextrahieren? aus dem Objekt. Dauert das einfach so lange oder spreche ich das Objekt falsch an?

Grüße Florengray
Bitte warten ..
Mitglied: dog
21.01.2010 um 20:35 Uhr
Ein DataGridView ist ja nun eben primär ein View, also für die visuelle Darstellung konzipiert.
Benutzt du ihn auch so?

Wenn nicht reicht nämlich ein einfacher multidimensionaler Array.
Bitte warten ..
Mitglied: florengray
21.01.2010 um 20:46 Uhr
Hmm. Ja. Bei dem Grid View ging es mir um die Tabelle die mir da zur Verfügung gestellt wird.
Es wird nämlich automatisch eine neue Zeile hinzugefügt wenn man die braucht.
Und nein ich mißbrauche den GridView. Nicht zum darstellen, sondern zum Daten kurzfristig zwischenzuspeichern.
Gibt es ein anderes Steuerelement das dazu geeigneter wäre?
Ich wüsste nicht wie man das anstellen würde aber könnte man einen Datatable nehmen den man ständig aktualisiert und dann den nach Word schickt? Dann würde man sich das einzelne Zellen ansprechen sparen.

Grüße Florengray
Bitte warten ..
Mitglied: florengray
24.01.2010 um 16:03 Uhr
Hallo nochmals.

Also wenn ich das richtig verstanden habe:
Ein Dataset könnte man vergleichsweise wie eine Excelworkbook beschreiben.

In diesem Dataset kann mann dann viele Datatables anlegen. Das wären dann die Excelsheets.
Jedes Excelsheet enthält dann Spalten und Zeilen.
Das gleiche könnte ich dann mit einem spezifischen Datatabel machen. Richtig? Also dort per Add Spalten und Zeilen hinzufügen.
Meine Überlegung: Ich binde einen Datatabel über die Eigenschaftsspalte an meinen Datagridview.
Dann müsste doch diese Tabelle immer vom datagridview aktualisiert werden bzw. imme reine Kopie des Datagridviews sein?
Dann bräuchte ich ja nur diesen Datatable abfragen und dann die Daten nach Word schicken. Richtig?

Bis dann Florengray
Bitte warten ..
Mitglied: florengray
04.03.2010 um 17:28 Uhr
Also,
das erste was viel "Zeit" kostet sind FormFields. Jedenfalls bei mir.
Also habe ich alles über eine Tabelle gelöst.
Dann noch was ganz komisches.
Wenn ich Word_App.Visible = True mache und mein Proggi da dann die Daten in die Tabelle einträgt genügt es, wenn ich
mit der Maus irgendwo auf das Doc klicke und dann rasst das Ding dadurch und füllt alles 10mal schneller aus.
Warum konnte ich mir bis heute nicht erklären.
Die Frage war jetzt wie ich diesen "Klick" simuliere.
Es geht auf jeden Fall mit der Kombi aus:
Word_App.Visible = True
Word_App.Activate
Word_App.Visible = False.
Das Problem ist nur, dass dann der Bildschirm kurz flackert.
Das kann man auch lösen indem man Word_App.WindowState auf Minimized stellt.
Was anderes kann ich im Moment dazu nicht bieten.
Habe da was mit aktiven Handels im Verdacht aber das sind nur Vermutungen.

florengray
Bitte warten ..
Ähnliche Inhalte
Debian
Samba Verbindung extrem langsam
gelöst Frage von gewaACDebian2 Kommentare

Hallo Leute, ich habe hier auf einem System Samba installiert und eine einfache Freigabe erstellt. Wenn ich mich nun ...

Windows Netzwerk
Speichern von Word und Exceldateien auf Serverlaufwerk extrem langsam
gelöst Frage von MatseratiWindows Netzwerk12 Kommentare

Hallo zusammen, folgendes Problem: seid ca. 14 Tagen dauert das Speichern von Word und Exceldateien (Office 2007) auf dem ...

Microsoft Office
Öffnen von Word und Excel Dateien auf Server extrem langsam
gelöst Frage von steftsMicrosoft Office4 Kommentare

Hallo zusammen, ich habe unter Windows 10 Pro und Office 2013 Prof. Plus seit gestern folgendes Problem: Das Öffnen ...

Router & Routing
Verbindung zur FritzBox per Browser extrem langsam
Frage von imebroRouter & Routing17 Kommentare

Hallo, ich nutze eine FritzBox 7330. Wenn ich per Browser (Firefox 30) auf die Oberfläche der FritzBox zugreifen möchte, ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 6 StundenWindows 101 Kommentar

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 7 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 22 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...