Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
' schrieb:Wie könnte denn sowas in meinem Fall aussehen? Also welchen Code muss in vba einfügen um in ein False bzw in ein True case zu gelangen?
:kA:wie man auf Benutzereingaben mit dem Callback reagieren kann. Ich hab das bisher nur für Ereignisse direkt von Excel benutzt wie z.b. WorkbookBeforeClose.
Alternative könnte ich mir vorstellen, True/False in eine Datei zu schreiben und dann mit LV zu schaun was drin steht und entsprechend reagieren.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Hey,
also ich habe es nochmal als Anhang zugefügt um es besser zu erläutern.
Excel öffnet, dort werden unterschiedliche makros mit vba anhand user forms bearbeitet.
Am Ende, wird in vba gefragt ob es weitergehen soll. Wenn ja oder Nein schließt Excel und
springt wieder zu LabVIEW wo nun das Ereignis ob Ja oder Nein gedrückt wurde weiterverarbeitet wird.
In einem case wird dann die Abfrage zugeordnet. Bei JA=True.Bei NEIN=False.
Ich Hoffe das es irgendwie machbar ist. Danke für jede kleine Hilfe.
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
achso das meintest du, dachte du hattest noch was anderes gemeint. OK.
in den Beispielen wird aber ja nur auf ein Beenden von Excel reagiert und nicht speziell auf Buttons im user form. Oder hab ich das was übersehen?
Also wenn z.B. der Code des JA Buttons in vba: - Gebe True an LabVIEW-schließe Excel
und bei dem Code des Nein Buttons: -Gebe False an LabVIEW-schließe Excel
Ich weis nicht ob sowas zu machen ist?
Nein, du hast nichts übersehen.
Ich weiß leider nicht wie du das Drücken eines Buttons von XL an LV melden kannst (zumindest direkt).
Du hast ja im Prinzip zwei Anforderungen an deine XL -> LV Schnittstelle:
1. LV soll wissen welcher Button gedrückt wurde
2. LV soll wissen, dass XL beendet wurde.
Soweit richtig?
Also für Problem 2. kannst du das Callback Ereignis nutzen und bekommst mit, wenn der User das XL Workbook beendet.
Für das 1. Problem kannst du dir eine temp. Datei erzeugen. Nach dem Drücken des Buttons schreibst du einfach den Wert TRUE/FALSE in eine Datei. Dann wird XL beendet. LV weiß dann, dass XL beendet wurde und schaut in dieser Datei nach, welcher Button gedrückt wurde.
(evtl. kannst du den Wert auch in einer Zelle ablegen und mit LV auslesen, musst mal schauen, ob XL lange genug geöffnet bleibt, damit LV die Zelle auslesen kann -> wegen WorkbookBeforeClose, hoffe du weist was ich meine)
Die einzige Möglichkeit Werte von XL nach LV zu übertragen, habe ich bis jetzt in dem oben beschreibenen Weg der Makroausführung gesehen. Was aber in deinem Fall nicht geht, da LV dafür ja das Makro starten müsste.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
cool, danke für Tipps.
Habs mal mit dieser Variante versucht:
Zitat:evtl. kannst du den Wert auch in einer Zelle ablegen und mit LV auslesen
Excel Datei und vi sind im Anhang. So kann ich mir vorstellen dass es funktioniert. Also schreibe in Excel jenachdem ob JA oder NEIN gedrückt wird eine 1 oder 0 in die Zelle A5. Beim Drücken wird ebenfalls automatisch Excel geschlossen, so dass Callback arbeiten kann. Anschließen lese ich die Zelle A5 im vi aus und überprüfe ob ungleich 0 dann gehe in case False sonst True(oder umgekehrt).
Leider gibt es in dem Auslese Teil noch Fehlermeldungen mit den Eigenschaftten und Methoden. Wie kommt das? Leider bin ich in der vba Thematik noch nicht allzu tief drin, so dass ich den Fehler erkenne.
Aber das Grundprinzip müsste doch so passen oder?
LG
H_S
Das vi muss in dem Excel öffnen und Excel auslesen gleich sein. Habe das vi von dir etwas ergänzt.
hab leider kein LV zu Hause, daher kann ich erst am Montag schaun. WEiß aber noch nicht wann ich dazu komme. Der Tag ist schon relativ verplant.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!