LabVIEWForum.de
TDMS mit Excel Makro / Bedingte Formatierung - 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: TDMS mit Excel Makro / Bedingte Formatierung (/Thread-TDMS-mit-Excel-Makro-Bedingte-Formatierung)

Seiten: 1 2


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 16.08.2011 12:42

ja im Taskmanager taucht das EXCEL mehrmals auf, aber dachte das ist weil ich kein Application.Close hab.
Wenn ich Visible.True mach, ist die Excel Datei dann in der Taskleiste sichtbar, aber immernoch ohne Makro.

Ich erzeug eine neue Excel Instanz? Also muss zugeben mit ActiveX kenn ich mich nich so gut aus und hab bisher nur Sachen übernommen. Aber ich dachte bei Workbooks.open gebe ich den Dateipfad der vorhandenen XLS Datei an, damit ich da mein Makro einfügen kann. Ist das nicht so?
hab mal beides in ein vi gemacht, damit ich die selbe referenz hab für die excel application. läuft aber auch nicht Sad

[attachment=35296]


RE: TDMS mit Excel Makro / Bedingte Formatierung - SeBa - 16.08.2011 13:28

Erstmal: Eine Instanz ist nicht das gleiche wie Workbook.

Schau dir mal das "ActiveX-Objekt öffnen" VI an. Dort gibt es den Eingang "Neue INstanz öffnen (False)". Nichts angeschlossen bedeutet es wird die aktive Excelinstanz genommen... wenn du aber schon mehrere offen hast, k.A. welche dann ausgesucht wird.

Jedes EXCEL im Taskmanager ist ein für sich eigener Prozess, also eine Instanz. Welche Instanz dein Workbook hat.. weißt du so erstmal nicht.

Hast du das Add XLS Macro.vi mal für sich alleine probiert, oder immer nur im Zusammenhang mit deinem Programm?

Du könntest auch die XL-Referenz aus dem TDMS-XL VI rausgeben und damit dann in das Macro vi wieder rein gehen. Dann sparst du dir das öffnen der XL Instanzen.

Dass du eine neue Instanz erzeugst... vielleicht hab ich auch ein True an den Eingang angeschlossen... sonst funktioniert es ja bei mir sowieso nicht.


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 16.08.2011 13:34

Ich hab das Add Makro auch mal allein versucht. Pfade eingegebene und gestartet kam aber nix.

Hab jetzt beides in ein VI gemacht, damit ich nich zweimal öffnen muss. Hier hab ich jetzt aber neue Instanz auf True, weil ich ja eine neue brauche wegen der TDMS. Und die will ich gleich fürs das Einfügen des Makros benutzen:

[attachment=35298]

Ich werd morgen nochmal drüber schauen, irgendwas mach ich falsch. Wird bei dir das Makro nur ausgeführt, oder ist es auch richtig in der Excel Datei importiert, dass du es mit ALT+F8 sehen und immer wieder ausführen kannst?


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 17.08.2011 09:15

grr, ich kriegs nich hin Sad immernoch derselbe Fehler

Auch wenn ich nur das Makro VI alleine ausführen mit wieder der gleich Fehler.

Bahn


RE: TDMS mit Excel Makro / Bedingte Formatierung - SeBa - 17.08.2011 10:37

Hast du es mal mit einer leeren Exceldatei versucht? Also einer, die du in Excel neu anlegst und dann ohne zu ändern abspeicherst...
Das scheint mir der letzte Unterschied zu sein, und so probiere ich es ja auch.

Gruß SeBa


PS: Alternative kannst du ja auch mal eine Exceldatei hochladen, bei der es nicht funktioniert.


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 17.08.2011 11:36

hat nix geändert Sad

[attachment=35320]

Ich hab dir mal meine Files gezippt und hochgeladen:
[attachment=35321]

Vllt ist dein Rechner schlauer als meiner Tongue Construction


RE: TDMS mit Excel Makro / Bedingte Formatierung - SeBa - 17.08.2011 11:54

keine Ahnung.. hab nur die Pfade angepasst und bei mir läufts bis zum Makroaufruf durch.

Wie ist denn deine Makrosicherheit im Excel eingestellt? Bei mir ist niedrig eingestellt.


Gruß SeBa


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 17.08.2011 12:24

Die Sicherheit stand auf Hoch. Aber daran lags nicht.

Ich hatte das Makro ja aus nem Excel File exportiert und da stand in der .bas File folgendes:

Code:
Attribute VB_Name="hallo"
Sub hallo()
    MsgBox "Hallo Welt!"
End Sub

hab die erste Zeile gelöscht:
Code:
Sub hallo()
    MsgBox "Hallo Welt!"
End Sub

Und jetzt läufts Smile

Jetzt ist der Task aber noch im Taskmanager drinne. Wie krieg ich den denn beendet? Hab das zweite Referenz schließen gelöscht, weil das n Fehler gab und den Task nicht beendet hat.

Thx Smile
Wie ich auch grad gemerkt hab, wird das Makro nur "ausgeführt" und nicht "eingefügt". Da ist klar, dass die erste Zeile eigentlich raus muss Tongue


RE: TDMS mit Excel Makro / Bedingte Formatierung - SeBa - 17.08.2011 12:42

Attribute VB_NAme = "myModule" sorgt beim importieren des Codes dafür, dass der Code im Modul mit dem Namen myModule eingefügt wird, bzw. dieses Modul bei Bedarf auch erstellt wird. Ohne diese Angabe landet dein Code immer in Modul1 ö.Ä..

Funktioniert hat dein Code mit der Modulangabe nicht, weil dein Modul den gleichen Namen hat, wie dein Sub. Das ist ein NoGo.
Änderst du eins von beiden, klappt es wieder.

Um den Task endgültig zu beenden, musst du Application.Quit in die Aufrufkette einfügen.
Ein Application.DisplayAlerts = False kann helfen, um die Frage zu unterdrücken, ob gespeichert werden soll (kommt bei mir, obwohl ich direkt vorher ThisWorkbook.Save ausführe).

Gruß SeBa


RE: TDMS mit Excel Makro / Bedingte Formatierung - win98 - 17.08.2011 13:29

ah cool Danke.

Ich hab alles "hallo" genannt, weil ich nicht wusste was ich im VI bei Macro übergebe, ob das der Funktionsname oder Modulname ist Tongue

Klappt jetzt alles Smile