Set Cell Value - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +----- Forum: Excel (/Forum-Excel) +----- Thema: Set Cell Value (/Thread-Set-Cell-Value) |
Set Cell Value - Tauerus - 22.02.2006 10:19 Hallo an alle, ich bin immer noch dabei, eine Zelle mit LV aus Excel auszulesen. Die Excel Exemples helfen mir nicht wirklich weiter. Im Forum lese ich, daß es mit "Set Cell Value" möglich ist. Das umstellen auf Read ist ja kein Problem, aber wie bekomme ich ersteinmal die Exceldatei eingelesen? Pfadangabe usw.?? Das arbeiten mit Active X ist für mich absolutes Neuland! Bitte helft mir!!! Danke MFG Tauerus Set Cell Value - didierj - 22.02.2006 16:39 Das Arbeiten mit ActiveX ist nicht trivial, ich hab ein Beispiel zusammengeschustert, das eine Zelle lesen kann. Dabei ist zu beachten: - Indexes beginnen immer bei 1 (z.B. Tabellenblatt) - graue Parameter sind optional - immer jede Referenz nach Gebrauch schön schliessen, sonst gibts unerwünschte Phänomene - Ja, du musst den ganzen Hierarchie-Baum "durchackern" um an die Daten zu kommen - Willst du einen Bereich auslesen, so gib in Cell1 die linke-obere Zelle und in Cell2 die rechte-untere Zelle an. Dann musst du dem Type-Cast aber auch einen 2d-Array zufüttern. Zudem: - Excel._Applikation ist das Excel - Workbook ist deine Datei - Worksheet ist das Blatt - Range sind die "gewählten" Zellen Gruss Didier Set Cell Value - Tauerus - 23.02.2006 07:16 Hallo didierj, das ist endlich einmal ein anschauliches Beispiel, um mal Schritt für Schritt das zusammenarbeiten von LabVIEW mit Excel zu verstehen. Ich brauchte nur noch auf Value2 umstellen und es funzt prima! Was ich besonders toll finde, das auch Stringwerte ausgelesen werden können! So sollte es sein! Also ich danke Dir vielmals für den guten Support! Und ich denke mal, andere LabVIEW User, die das selbe Problem plagt, werden Dir auch sehr dankbar sein!!!! Gruß Tauerus Set Cell Value - Tauerus - 21.03.2006 06:40 Ich habe nun das Beispiel VI durchgearbeitet und auch gut verstanden! Eine Frage hätte ich aber noch dazu! Wen das VI beendet ist, bleibt Excel trotz Schliesung im Hintergrund geöffnet. Ist das so gewollt? Lässt sich das zbs. so ändern, daß zum Programmende Excel komplett aus dem Spricher genommen wird? Geht das?? Danke schon mal im Vorraus! MFG Tauerus Set Cell Value - cb - 21.03.2006 12:16 das hört sich eher nach einem Bug an. Wenn Excel noch im Speicher ist und dann wieder per ActiveX geöffnet wird, dann crashed es ... didierj? kannst da mal kucken? ich kann mich auch dran erinnern, dass bei Office97 Excel manchmal nicht richtig geschlossen wurde, wenn man es per ActiveX genutzt hat. Da hat eine kleine Wartezeit zwischen dem File-Speichern, Schließen und Excel Schließen geholfen ... Set Cell Value - Tauerus - 23.03.2006 06:29 Danke für die Antwort! In der Tat, ich habe ich festgestellt, wenn ich nach dem Programmende einige Minuten warte ist Excel aus dem Speicher raus! Könnte es daran liegen, daß das Programm in einer Schleife ausgeführt wird? Mfg Tauerus Set Cell Value - cb - 23.03.2006 10:03 ich vermute mal, dass irgendwo noch Referenzen "offen rumliegen". Es ist bei ActiveX überaus wichtig, ALLE und wirklich ALLE Referenzen wieder mit dem "Close Reference.vi" zu schließen, sonst handelt man sich immer Probleme ein. Ich bin bei ActiveX dazu übergegangen, das ganze soweit möglich in einem VI zu programmieren. Ok, das wird ne riesen Tapete, aber man übersieht die offenen Referenzen nicht. Offene Referenzen ist auch ein Problem beim Office Toolkit ... Set Cell Value - blacksheepdeluxe - 06.12.2006 23:54 Hallo! Der letzte Post liegt zwar schon etwas zurück, aber trotzdem: Ich hab das gepostete vi überarbeitet und das Programm auch am Ende mit Application quit auch beendet. Nun läuft Excel auch nicht mehr im Hintergrund weiter. Die Werte der Zellen werden übrigens als String-Array ausgegeben. Ein schönes Beispiel zum Auslesen von Werten bzw. Zellen aus Excel. |