ich habe mittels recherche versucht mein Problem zu lösen bin jedoch bisher nicht wirklich weitergekommen. Mein Problem ist, dass ich die Prozesse und Funktion die in einer Excel-Datei hinterlegt sind in einem anderen Programm [SolidWorks] (nicht Excel) starten möchte. In SolidWorks kann man ebenfalls Makros mittels VBA programmieren. Ich muss nun noch folgende Dinge tun:
1.) Wenn die Excel-Datei, die unter einem bekannten Pfad liegt, nicht bereits offen ist möchte _
ich diese öffnen. Ich habe hierzu bereits folgenden Code geschreiben. Damit öffnet sich aber _
immer die Excel-Datei und falls diese offen ist öffne ich eine weitere "Schreibgeschütze _
Abreitsmappe". Wie kann ich dafür sorgen, dass dies nur passiert wenn diese nicht bereits offen _ ist?
Sub main()
Dim MyExcel As Object 'Excel-Datei
strNameExcel = "01-Steuerungsexcel.xlsm"
strNameExcel2 = "'01-Steuerungsexcel.xlsm'" 'wird nur benötigt für Application.Run
Set MyExcel = CreateObject("Excel.Application")
MyExcel.Workbooks.Open "C:\" & strNameExcel
MyExcel.Visible = True
intStartZeile = MyExcel.Application.Run(strNameExcel2 & "!ErsteZeile")
Set MyExcel = Nothing
End Sub
2.) Ich habe es bereits geschafft, dass die Prozesse und Funktionen der Excel-Datei mittels:
_
_
intStartZeile = MyExcel.Application.Run(strNameExcel2 & "!ErsteZeile")
aus SolidWorks heraus ausgeführt werden. Wie kann ich dies aber schaffen wenn die Excel-Datei bereits geöffnet ist. Ich muss dann ja die Excel-Datei irgendwie in das Objekt MyExcel bekommen.
Ich weiß dies ist alles etwas abstrakt aber ich hoffe Ihr könnt mir trotzdem weiterhelfen.
Gruß
Dominik