INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Aus Excel herausLabVIEW starten



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!

24.08.2009, 21:30
Beitrag #1

H_S Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: May 2009

2010
2009
DE

49085
Deutschland
Aus Excel herausLabVIEW starten
Guten Abend,

ich habe 2 Fragen zu Excel verknüpft mit LV:

Gibt es irgendwo die Möglichkeit in Excel per Button (Makro) im user form LabVIEW zu starten und wenn ja wie würde der Code dafür aussehen oder macht man das anders??

Die andere Sache ist ähnlich. Ich habe eine Statemachine in der ich in einem Zustand Excel öffne. Dort werden verschiedene Dinge per Makros erledigt und nun möchte ich wieder an die Stelle in der Statemachin zurück wo ich heraus gesprungen bin. Also sozusagen so, als wenn ich einem Subvi sage es soll öffnen und nach Abarbeitung schließen, so dass ich wieder da bin wie vorher.

Also die erste Frage ist eher wie man allgemein ein vi aus Excel starten kann und das andere wie man speziell in ein vi an eine Stelle springen bzw. zurückzuspringen kann.

Ich danke schon mal für die Bemühungen von euchSmile

LG
H_S
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.08.2009, 07:06
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aus Excel herausLabVIEW starten
Moin.
' schrieb:Gibt es irgendwo die Möglichkeit in Excel per Button (Makro) im user form LabVIEW zu starten und wenn ja wie würde der Code dafür aussehen oder macht man das anders??
Hmm...:glas1:mal sehen ob du LV (oder gar ein VI?) nur öffnen willst oder evtl. auch aus die Beendigung der Ausführung warten willst.Glas2KA

Also guckst du z.B. hier MSDN - Run Method

' schrieb:Die andere Sache ist ähnlich. Ich habe eine Statemachine in der ich in einem Zustand Excel öffne. Dort werden verschiedene Dinge per Makros erledigt und nun möchte ich wieder an die Stelle in der Statemachin zurück wo ich heraus gesprungen bin. (...)
Solltest du mit der optionalen Angabe von [bWaitOnReturn] hinbekommen.

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.08.2009, 07:31
Beitrag #3

H_S Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: May 2009

2010
2009
DE

49085
Deutschland
Aus Excel herausLabVIEW starten
Hey,

danke für die schnelle Antwort.

Zitat:mal sehen ob du LV (oder gar ein VI?) nur öffnen willst oder evtl. auch aus die Beendigung der Ausführung warten willst.

ja, ich möchte ein vi starten. Dieses vi möchte ich, wenn es mal fertig ist zu einer exe Datei umwandeln. Also am Ende soll eigentlich eine LabVIEW exe Datei gestartet werden. Vlt. ist das ja einfacher zu gestalten? Leider bin ich in VBA noch nicht so geübt.


Zitat:Solltest du mit der optionalen Angabe von [bWaitOnReturn] hinbekommen.

Sorry, aber magst du das nochmal genauer erläutern? Hab ich noch nie gehört diesen AusdruckMellow

Danke.

LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.08.2009, 07:45
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aus Excel herausLabVIEW starten
Hast du dir meinen Link angeschaut? Denn dann hättest du das hier sehen müssen:
   

Das [bWaitOnReturn] bedeutet es gibt eine Bool'sche (das "b" am Anfang) Eingabe, ob gewartet werden soll bis das Programm wieder geschlossen ist.

Mal ein Beispiel:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
Sub open_extern()
Dim sCmd As String
Dim oShell As Object

Set oShell = CreateObject("WScript.Shell")
sCmd = """" & "C:ProgrammeNational InstrumentsLabVIEW 2009LabVIEW.exe" & """"

oShell.Run sCmd, , True

Set oShell = Nothing
End Sub
</div>
Bei einem Commandline Aufruf müssen Pfadangaben, die Leerzeichen beinhalten, in Anfügrungszeichen gesetzt werden. Da Anführungszeichen in VBA einen String markieren, kommt es zu diesem 4-fach Anführungszeichen an Anfang und Ende des Commands.

Das "True" am Ende von oShell.Run ist die Bool'sche Eingabe die ich erwähnt habe. True bedeutet warten.

So, pack den Code mal in Excel und pass evtl. den Pfad an. Wenn du das Makro ausführts, kannst du Excel erst wieder beenden/benutzen, wenn LV geschlossen wurde. In anderen Worten, Excel wartet mit der Ausführung von weiterem VBA Code bis die aufgerufenen Shell Anwendung wieder beendet wurde.

Gruß SeBa

Edit:
Sehe grad, dass du im zweiten Fall Excel ja aus LV starten willst. :unsure:Hab ich so früh am Morgen (ohne Kaffee) doch falsch rum gedacht. Da muss ich mal schauen, wie man LV zum Warten überredet.

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.08.2009, 08:33
Beitrag #5

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aus Excel herausLabVIEW starten
Schnelltest... Fertig. Big Grin

LV wartet mit von alleine, bis das Makro beendet wurde.
Hab es mit der Application.Run Methode probiert und einer Excel Funktion die x Sekunden einfach wartet und dann True zurückgibt.

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2009, 20:45
Beitrag #6

H_S Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: May 2009

2010
2009
DE

49085
Deutschland
Aus Excel herausLabVIEW starten
Hey,

Zitat:Hab es mit der Application.Run Methode probiert und einer Excel Funktion die x Sekunden einfach wartet und dann True zurückgibt.

Hast du davon vlt. ein Screenshot oder noch besser das vi parat?
dann kann ich mir das besser vorstellen, wie du das meintest.

Dankeschön.

LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.08.2009, 06:28
Beitrag #7

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aus Excel herausLabVIEW starten
Moin,

   

und dann diese Funktion in Excel erstellen:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
Function Wait(seconds As Long) As Boolean
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + seconds
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Wait = True
End Function
</div>

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.08.2009, 22:03
Beitrag #8

H_S Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: May 2009

2010
2009
DE

49085
Deutschland
Aus Excel herausLabVIEW starten
Hey,
super! Danke dir. Ich bin bald soweit das zu testen. Bin noch dabei mit vba einige Sachen zu programmieren und komme bald an diese Stelle um zu Laview zurückzukehren.
Dabei ist mir eine Sache noch aufgefallen und hoffe das es doch irgendwie klappen könnte:

Gibt es einen Befehl, dass man aus Excel LabVIEW ebenfalls mit beenden kann? Ich hatte vor ich einen "ABBRUCH" Button in einer Form zu verwenden das Excel und LabVIEW beendet.


Weiter ist mir ein Rätsel, wie ich durch vba in LabVIEW etwas auslösen kann. Also wenn ich in vba z.B. auf JA drücke schließt excel und in LabVIEW geht es da weiter wo nach Excel rausgesprungen ist. Hinter dem Rauspringen befindet sich eine case Struktur. Bei JA soll es jetzt in dem TRUE case weiter gehen. Wenn ich in vba aber jetzt NEIN anklicke dann soll Excel genauso schließen aber jetzt in den FALSE case weiter gehen. Wie bekommt man sowas hin?

Freue mich auf Tipps.
Danke.

H_S
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 06:11
Beitrag #9

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aus Excel herausLabVIEW starten
Für das Reagieren auf Ereignisse innerhalb von Excel kannst du z.B. ein Callback-Ereignis benutzten. Guckst du auf der ActiveX Palette.

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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2009, 08:01
Beitrag #10

H_S Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 131
Registriert seit: May 2009

2010
2009
DE

49085
Deutschland
Aus Excel herausLabVIEW starten
guten morgen,

ja, ich hab mir die Beispiele dazu einmal angesehen aber so wirklich durchgestiegen bin ich da nichtO

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?

Um die vba Logik in LabVIEW ebenfalls umzusetzen habe ich einfach zu wenig Erfahrung mit vba. Das muss ich mir wirklich schleunigst weiter aneignen, um auch so etwas "selber" zu realisieren.


LG

H_S
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  muss Excel auf dem Zielsystem für Excel-Report installiert sein? Trinitatis 2 5.416 01.08.2016 20:51
Letzter Beitrag: Trinitatis
  Excel Macro aus LV starten AxelG. 9 11.491 29.01.2009 13:47
Letzter Beitrag: Y-P

Gehe zu: