So schließen Sie einen noch nicht registrierten Raum

Hallo

 

Ich möchte eine:

ActiveWorkbook.Close

 

wie wir es für Excel tun!

 

 

Der Makro-Registrierungscode gibt an:

 

Legen Sie swApp = Application.SldWorks fest

 

Set Part = swApp.ActiveDoc

Set Part = Nichts

swApp.CloseDoc "Name des Teils"

 

Abgesehen davon, dass sie ihn nicht registriert hat, hat sie keinen bestimmten Namen (außer "Beweisstück 1", Beweisstück 2", Beweisstück 3"......)

 

Mit:

swApp.ActiveDoc.Close Ich habe SolidWorks zum Absturz gebracht (Bild angehängt)

 

 

Danke für Ihre Hilfe!!


capture.png

Klicken Sie einfach auf "Schließen" ^^^oder auf das Kreuz.....

 

Ich glaube nicht, dass ein Makro für diese Art von Manipulation notwendig ist.

4 „Gefällt mir“

Nun, es ist, als würde man eine Datei öffnen, Teile in eine Baugruppe importieren oder das Material ändern...

 

Sie können es von Hand machen, aber wenn das Programm es tut, müssen Sie es nicht mehr tun.

 

Ich konnte diese Anleitung nirgendwo in den Foren finden...

Ich sehe wirklich keinen Sinn darin, die Datei zu schließen, ohne sie zu speichern 

Infolgedessen kann es in anderen Dateien verloren gehen, ohne dass es leicht gefunden werden kann

Schließen ohne zu sparen verlieren wir alles?

@+ ;-)

 

2 „Gefällt mir“

Ich stimme Bart und Gt22 zu

Aber wenn es in Ihrem Kontext Sinn macht... Schauen Sie sich stattdessen die QuitDoc-Methode (ISldWorks) an  .

die schließt, ohne zu speichern

 

 

6 „Gefällt mir“

Klicken Sie gleichzeitig auf das Makrosymbol oder klicken Sie auf ein Kreuz, um es zu schließen.

 

Alles in allem läuft es auf das Gleiche hinaus, nicht wahr?

 

Oder ich habe etwas übersehen...

 

 

Tatsächlich tue ich das:

 

longstatus = Teil.SaveAs3(Verknüpfung, 0, 2)

 

wodurch mein Teil in der Verknüpfung gespeichert wird, außer dass ich ein Teil (Kopie) behalte, das nicht in meinem Solidworks gespeichert ist, was nutzlos ist.

 

Es stimmt, dass das Grundproblem darin besteht: Ist es möglich, einen offenen Raum zu speichern und ihn auszustellen? (von VBA)

OKAY... Es wird logischer

 Also muss QuitDoc funktionieren?

4 „Gefällt mir“

Ich verstehe auch nicht den Nutzen. Dafür gibt es den Befehl close, und wenn mehrere Dokumente geöffnet sind, gibt es den Befehl close all...

 

 

Einen Raum retten, indem Sie ihn so schnell wie möglich offen lassen?

 

STRG+S ... Nein?

Ich stimme Ihnen zu, dass diese Aktion nützlich ist, aber ich entwickle eine Anwendung für einen Solidworks-Assistenten, der nicht lernen möchte, wie man die Software benutzt...

 

Ansonsten gibt es für diejenigen, die es interessiert, gibt: (Happydads Idee)

boolstatus = swApp.CloseAllDocuments(Wahr)

 

aber das Fenster schließt sich nicht, ich denke, es liegt an der Aufforderung, die Teilnachricht zu speichern, die nicht angezeigt wird.

 

 

Jfaradon

Ich habe den Eindruck, dass die QuitDoc-Methode (ISldWorks) auch nach dem Namen des Teils fragt, bevor sie geschlossen wird.

 

 

Vielen Dank für Ihre Antworten

Um dies zu erreichen, habe ich die Sioux-Methode verwendet...  

 

Für i = 1 bis 30

swApp.CloseDoc "Teil" & i
Nächster

 

Sie können auch den Namen des Dokuments abrufen und dann aktivieren, um es zu schließen:

 

myTitle = meinModell.GetTitle

swApp.ActivateDoc2 myTitle, True, 0

swApp.QuitDoc myTitle

 

Denn wenn Sie mehr als 30 Teiledateien haben, wird Ihre Lösung nicht funktionieren!