Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  SWX Macro beendet Excel nicht sauber

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Im Fokus: CAD Automation & CPQE
Autor Thema:  SWX Macro beendet Excel nicht sauber (1153 mal gelesen)
Iwona W.
Mitglied
Konstrukteurin, SWX key-user


Sehen Sie sich das Profil von Iwona W. an!   Senden Sie eine Private Message an Iwona W.  Schreiben Sie einen Gästebucheintrag für Iwona W.

Beiträge: 130
Registriert: 25.04.2005

SWX 2011, SP 4.0
Win 7 64bit; AS 32GB; Intel Xeon 3,40GHz
NVidia Quadro 4000

erstellt am: 08. Nov. 2007 12:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Gemeinde!

habe im Excel ein Macro, welches eine bestimmte Tabell erzeugt. Diese wird dann als OLE-Objekt in SWXSolidWorks platziert. Nun möchte ich in einem SWXSolidWorks Macro beides verbinden:

-Excel aufrufen
-betreffende Tabelle öffnen, Excel-Macro wird autom. ausgeführt,
neue Tabelle erzeugt, gespeichert = pfad
-per Zwischenablage wird der Pfad dem SWXSolidWorks mitgeteilt (OLE-Objekt einfügen).

Dabei tritt ein Problem auf:
SWXSolidWorks beendet Excel nicht sauber (nach dem ersten Durchlauf läuft der Prozess noch (Task MAnager), nach dem zweiten ist es in der Taskleiste sichtbar)
Bin ich auf dem Holzweg???

Das überlassen des Öffnens dem Excel über "with ExcelApp" hat nicht geklappt, Methode Application.document.open ("File") wir nicht unterstützt.

Habe übrigens beim Einbinden einer macro-Tabelle öfters die Fehlermeldung "Server ist überlastet". Vermute die beiden Probleme hängen zusammen.

Anbei verkürzte Version vom Macro (öffnet nur eine Excel-Tabelle)

Dim swApp As SldWorks.SldWorks
Dim ExcelApp As Object
'Dim ExcelApp As Excel.Application
Dim ExcelSheet As Object
'Dim ExcelSheet As Excel.Sheets
Dim Dokument As SldWorks.ModelDoc2
Dim SelectionMgr As Object

Sub main()


Set swApp = Application.SldWorks
Set ExcelApp = CreateObject("Excel.Application")

ExcelApp.Visible = True
ExcelApp.WindowState = xlMaximized

Workbooks.Open filename:="C:\test1.xls"
MsgBox "Tabelle ist offen"
Workbooks.Close

Set ExcelApp = Nothing

End Sub


------------------
Iwona

[Diese Nachricht wurde von Iwona W. am 08. Nov. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 08. Nov. 2007 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Iwona W. 10 Unities + Antwort hilfreich

Hallo Iwona

ohne es getestet zu haben
mir scheint, dass Du mit "Workbooks.Close" Excel nicht beendest sondern "nur" die geöffneten Dateien schließt
Versuch es mal mit ExcelApp.quit zum Schluss um Excel zu beenden


LG
heinz

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Iwona W.
Mitglied
Konstrukteurin, SWX key-user


Sehen Sie sich das Profil von Iwona W. an!   Senden Sie eine Private Message an Iwona W.  Schreiben Sie einen Gästebucheintrag für Iwona W.

Beiträge: 130
Registriert: 25.04.2005

SWX 2011, SP 4.0
Win 7 64bit; AS 32GB; Intel Xeon 3,40GHz
NVidia Quadro 4000

erstellt am: 08. Nov. 2007 12:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe es beretits probiert, sitze schon seit 2 Tagen an dem Ding.

Bei mir wird übrigens Excel erst mit dem setzen auf Nothing beendet. Und DER funktioniert sauber, so lange keine Tabell über wokbook.open geöffnet wird. Warum, ist mir schleierhaft..

------------------
Iwona

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 08. Nov. 2007 13:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Iwona W. 10 Unities + Antwort hilfreich

Hallo

der folgende Code funktioniert bei mir

Dim swApp As SldWorks.SldWorks
Dim ExcelApp As Object
'Dim ExcelApp As Excel.Application
Dim ExcelSheet As Object
'Dim ExcelSheet As Excel.Sheets
Dim Dokument As SldWorks.ModelDoc2
Dim SelectionMgr As Object

Sub main()


Set swApp = Application.SldWorks
Set ExcelApp = CreateObject("Excel.Application")

ExcelApp.Visible = True
ExcelApp.WindowState = xlMaximized

ExcelApp.Workbooks.Open "C:\test1.xls"

MsgBox "Tabelle ist offen"
ExcelApp.Workbooks.Close

ExcelApp.Quit
Set ExcelApp = Nothing

End Sub

LG
Heinz

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Jörg W
Mitglied
Maschinenbautechniker und CAD Admin


Sehen Sie sich das Profil von Jörg W an!   Senden Sie eine Private Message an Jörg W  Schreiben Sie einen Gästebucheintrag für Jörg W

Beiträge: 1232
Registriert: 12.07.2001

Win 10 64bit
SW2018 SP5
HP z240
16GB Ram
Quadro P1000

erstellt am: 08. Nov. 2007 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Iwona W. 10 Unities + Antwort hilfreich

Hallo,
Hatten vor kurzem ein ähnliches Problem.
Wir haben es folgendermaßen gelöst:

objxlsWB.Close
Set objxlsWB = Nothing
objExcelApp.Quit
Set objExcelApp = Nothing

------------------
Pfürti Jörg W 

www.hydac.com / Meine Homepage / Waleska Webdesign / CAD.de Hilfeseite / Forenstammtisch Saar

Member of CAD.de BOINC Team

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Technischer Redakteur im Bereich Service (m/w/d)

Besser zu d&b: als Technischer Redakteur (m/w/d) im Bereich Service.

Als Technischer Redakteur (m/w/d) im Bereich Service bei d&b findest du die richtigen Voraus­setzungen, um dich beruflich wie persönlich weiterzu­entwickeln. Geo­graphisch, weil wir inter­national aufgestellt sind. Fach­lich, weil wir uns in der Pro-Audio-Branche den Spitzen­platz erar­beitet haben, die inter­nationalen Stand­ards setzen und unser Wissen und Können gerne mit dir teilen....

Anzeige ansehenTechnische Dokumentation
G. Dawg
Ehrenmitglied V.I.P. h.c.
Teamleiter FEM Simulation



Sehen Sie sich das Profil von G. Dawg an!   Senden Sie eine Private Message an GDawg  Schreiben Sie einen Gästebucheintrag für GDawg

Beiträge: 2622
Registriert: 12.07.2004

SolidWorks_2o2o SP3.o
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.

erstellt am: 08. Nov. 2007 13:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Iwona W. 10 Unities + Antwort hilfreich

Versuche es mal mit dem da:

Code:
For Each w In Application.Workbooks
    w.Save
Next w
Application.Quit

Excel geht zuerst alle Workbooks durch, speichert diese und schliesst danach Excel.
Funktioniert bei mir, wenn ich das Script aus Excel heraus starte.

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz