| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
|
Autor
|
Thema: API: Excel Makro von SW aus starten (2568 mal gelesen)
|
flo-w123 Mitglied

 Beiträge: 53 Registriert: 29.04.2008 Solidworks 2022 SP1.0 Windows 10 32 GB Intel Xeon W-2125 4GHz NVIDIA Quadro RTX4000
|
erstellt am: 29. Apr. 2008 11:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, In einer Teile-Tabelle habe ich in Excel ein VBA Modul eingefügt. Jetzt will ich dieses Excel-Makro irgendwie über die SolidWorks API ausführen. Hat sowas schonmal jemand gemacht? Ich habe schon einiges an Dokumentation und Beiträge hier durchgelesen, aber mir fehlen irgendwie die richtigen Suchworte. Kann mir jemand weiterhelfen oder evtl. sagen wie ich da anfangen könnte? Alternativ wäre denkbar, dass man alles was das Excel-Makro macht in der SW-API programmiert, aber das möchte ich eigentlich vermeiden. Danke schonmal, Flo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 29. Apr. 2008 14:09 <-- editieren / zitieren --> Unities abgeben:          Nur für flo-w123
Hi, Du brauchst zuerst mal den Verweis auf die Office Befehle...Microsoft Office 11.0 Object library (wobei die Zahl von der Version abhängt). Ob es im Excel dann einen Befehl gibt für "Makro Starten" weiss ich nicht, kann ich mir aber gut vorstellen. (im SW gibt es einen). Dann fällt mir noch sendkey ein...Du kannst ja einen shortcut für das excelmakro vergeben, und diesen dann im SW Makro drücken lassen. Gruß Andy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dr Sutton Mitglied Konstrukteur / CAD-Admin (au Backe!)
  
 Beiträge: 571 Registriert: 30.01.2007 Dell Precision PWS 390 2,66GHz; 4GB Ram Quadro FX 3500/4000 SDI Win XP Pro MegaCad 2006 2d SW2007 SP4 SpaceExplorer
|
erstellt am: 29. Apr. 2008 14:24 <-- editieren / zitieren --> Unities abgeben:          Nur für flo-w123
|
flo-w123 Mitglied

 Beiträge: 53 Registriert: 29.04.2008 Solidworks 2022 SP1.0 Windows 10 32 GB Intel Xeon W-2125 4GHz NVIDIA Quadro RTX4000
|
erstellt am: 29. Apr. 2008 15:20 <-- editieren / zitieren --> Unities abgeben:         
Ok, Danke für die Vorschläge, ich werd mir das mal anschauen... wenns jemand interessiert, mittlerweile hab ich einen "workaround" in zwei Schritten gefunden: 1) in der Exceltabelle wird überwacht ob sich was ändert. wenn sich was ändert startet das Makro 2) ich öffne per SWX API die Tabelle, aktualisiere sie und mach sie wieder zu. Eigentlich unglaublich, aber es funktioniert Ich bin aber noch nicht ganz glücklich damit weil ich einige unschöne Krücken einbauen musste - d.h. kein Mensch versteht den Code (einschließlich mir, spätestens ab morgen früh...) Wenn jemand sonst noch Vorschläge hat, wie man das sauber macht wäre ich dankbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 30. Apr. 2008 07:35 <-- editieren / zitieren --> Unities abgeben:          Nur für flo-w123
|
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 30. Apr. 2008 10:47 <-- editieren / zitieren --> Unities abgeben:          Nur für flo-w123
Hi, wenn du in Excel ein Makro starten möchtest kannst du das mit Dim xls As Excel.Application Set xls = GetObject(, "Excel.Application") Call xls.Run("DieseArbeitsmappe.Test") 'Makro heisst Test der Name stammt aus dem Excel Alt+F8 Dialog. ausführen. Gruß Micha
------------------ Stell dir vor, es geht, und keiner kriegts hin. Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |