Update der Auto-Familienmünzen

Hallo ihr alle!

 

Auf meiner ewigen Suche nach Komplexität und um die Nutzung eines Werkzeugs für andere zu erleichtern, versuche ich, ein kleines "Modul" in VBA zu erstellen, so dass sich in einer einzigen Datendatei die Münzchancen auf SW ändern.

 

Um dies zu erreichen, habe ich natürlich damit begonnen, Tests an einem einzelnen Teil durchzuführen.

 

Ich habe eine Raumfamilientabelle erstellt und daher die gewünschten Abmessungen festgelegt, indem ich zwei Zeilen erstellt habe: "Ursprung" und "veränderbar"

 

Also habe ich meine Datendatei erstellt, mit den Originalmaßen der Teile (falls sie durch Ändern vergessen werden!)

 

In diesem habe ich auch eine Schaltfläche mit dem folgenden VBA-Befehl erstellt:

 

[Artikel-Nr.] Unternummer Changement_cote()

Arbeitsmappen.Öffnen ("Test-Arbeitsmappe.xlsm")
"Änderung
Arbeitsmappen ("Test-Arbeitsmappe.xlsm"). Arbeitsblätter("Tabelle1"). Bereich ("B4"). Wert = "='[Datenbank.xlsm]Tabelle1'!$B$4"

Arbeitsmappen ("Test-Arbeitsmappe.xlsm"). Arbeitsblätter("Tabelle1"). Bereich ("C4"). Wert = "='[Datenbank.xlsm]Tabelle1'!$C$4"

Arbeitsmappen ("Test-Arbeitsmappe.xlsm"). Close 'Testdatei wird geschlossen

 

 

Arbeitsmappen.Öffnen ("00-XXXXX-0-Came.xlsx") 'Familienzimmer

"Änderung
Arbeitsmappen("00-XXXXX-0-Came.xlsx"). Arbeitsblätter("Tabelle1"). Bereich ("B4"). Wert = "='[Datenbank.xlsm]Tabelle1'!$B$4"

Arbeitsmappen("00-XXXXX-0-Came.xlsx"). Arbeitsblätter("Tabelle1"). Bereich ("C4"). Wert = "='[Datenbank.xlsm]Tabelle1'!$C$4"

Arbeitsmappen("00-XXXXX-0-Came.xlsx"). Close 'Testdatei wird geschlossen

 

Ende Sub[/code]

 

Im Moment habe ich die automatische Sicherung der Dateien nicht hinzugefügt, aber sie bitten mich darum, und ich sehe auch die Änderung bei den Dateien, die nicht "updatescreen=false" = verwendet haben.

 

Mein Problem kommt also später. Ich öffne SolidWorks erneut, nachdem ich meine Änderung vorgenommen habe, und die Teilefamilie wird leider nicht aktualisiert, obwohl ihre Datei auf dem neuesten Stand ist. Ich muss durch "Teilefamilie bearbeiten" gehen, damit es aktualisiert wird

 

(Während dieses Vorgangs mache ich nur "Familie bearbeiten" und beende es, SolidWorks scheint die Datei zu holen)

 

Gibt es einen VBA-Befehl, der es diesem Update ermöglicht, dies automatisch zu tun?

Da es sich nur um einen Raum handelt, ist das kein Problem. Aber für eine komplexe Baugruppe, die nur 20 Teile umfasst, kann es zu einer langen ^^" werden.

 

Entschuldigung für den Bürgersteig und die Unannehmlichkeiten,

In der Hoffnung, eine Lösung zu finden, ^^"

 

Freundlich

 

Yoann

 


base_donnee.jpg

Hallo

 

Hier ist ein Makro, das im SolidWorks Forum zu finden ist:

 

https://forum.solidworks.com/thread/9335

 

Oder lesen Sie die Anleitung in der SolidWorks Hilfe:

http://help.solidworks.com/2012/English/api/sldworksapi/Get_or_Set_Whether_Edits_Update_Design_Table_Example_VB.htm

Hello@Lucas

 

mmmh... Funktionen wie z.B. "Dim swApp As SldWorks.SldWorks" passen nicht in das VBA-Modul von Excel?

 

Es gibt mir einen Fehler, wenn ich versuche, das Makro auszuführen:

"Kompilierungsfehler  : Benutzerdefinierter Typ nicht definiert"

 

Abgesehen davon, dass ich verstehe, dass er mir sagt, dass das, was ich definiert habe... ist nicht definiert.... (sie bereitet dir Kopfschmerzen bei diesem Satz *schockiert*)

 

Ich verstehe es nicht wirklich =/

 

freundlich

Oh, aber Sie erstellen die Teilefamilie aus Excel?

 

Wie implementieren Sie es dann, damit es in SolidWorks erscheint?

Es hat sich selbst als Datei erstellt .xlsx tatsächlich ^^',  als ich es gespeichert habe

 

Also dachte ich, ich mache alle Manipulationen von meiner Datenbankdatei aus, um die zukünftige Nutzung durch andere Leute zu vereinfachen.

Wenn ich eine Teilefamilie erstelle, habe ich keinen Zugriff auf die Excel-Datei! Wo finden Sie es?

Ich hatte nur Zugang dazu, indem ich die Familie "registriert" hatte ^^

 

Um ehrlich zu sein, öffne ich es nicht über Excel, letzteres. Ich brauchte es nur, um auf seine Adresse "C:\...\came.xlsx" zuzugreifen, um den Link in meinen VBA-Code zu setzen

OK, wie auch immer, Sie werden nicht in der Lage sein, die Teilefamilie in SolidWorks von Excel aus zu aktualisieren: Es ist ein SolidWorks Makro, das ich Ihnen angeboten habe!

Und es ist sicher, dass es viel weniger interessant ist: Um es zu aktualisieren, muss man, anstatt die Coin-Familie zu öffnen, ein Makro starten, es ist so ziemlich dasselbe.

 

Andernfalls ist das automatische Starten des Makros bei jedem Start eines Teils sehr mühsam und verlangsamt die SW beim Öffnen einer Datei...

http://www.leguide3d.com/profiles/blogs/piloter-un-modele-3d-au-travers-d-excel

 

Ich habe das gefunden, ich werde es testen, aber es scheint mir eine Lösung zu sein =). Ich halte euch auf dem Laufenden!

1 „Gefällt mir“

Tut mir leid, ein bisschen müde, ja, Sie können tatsächlich ein SolidWorks-Makro aus Excel erstellen, wie es in Ihrem Link geschrieben steht.

 

Wenn das Teil in SolidWorks geöffnet ist, befolgen Sie die Anweisungen im Bild:

 

http://api.ning.com/files/s2sZbafeBpX-mX9KHHPZMOqmYpSGIu93UHOfWU*M6CnBzflIcn0D5aoMp7YX937HiJ5u00KItfo8KQVFyrpA0TVLVgq-rvlW/Code1.PNG

 

Sie sollten in der Lage sein, das oben vorgeschlagene Makro zu starten.

Keine Sorge Lucas^^ Wochenende, ich glaube alle sind ein bisschen müde^^

 

Ich habe das in der Tat versucht, und es erkennt kein Problem =)

 

Außer später, wenn ich versuche, das Solidworks-Makro zu integrieren, das Sie mir oben gegeben haben^^'

 

Dim swDoc As SldWorks.ModelDoc2

 

wird nicht erkannt =/

 

 

Da ich SOLIDWORKS Makros in Excel nicht verwenden konnte, begann ich nach einer Möglichkeit zu suchen, das SOLIDWORKS Makro aus Excel zu starten.

 

Ich bin also folgendermassen vorgegangen

 

Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Dim boolstatus als boolescher Wert

Dim-Dateiname als Zeichenfolge
Dateiname = swApp.GetCurrentMacroPathName
filename = Links(Dateiname, InStrRev(Dateiname, "\")) + "Makro1.swp"
boolstatus = swApp.RunMacro(Dateiname, "Makro11", "alternativ")
boolstatus = swApp.RunMacro(Dateiname, "Makro11", "Haupt")

 

Und jetzt aktualisiert meine "Update"-Schaltfläche an der Seite auch die Teilefamilien auf Solidworks, indem sie das Makro startet, das @Lucas mir gegeben hat =)

 

(https://forum.solidworks.com/thread/9335)

 

Alles, was noch fehlt, ist herauszufinden, wie man die Ansicht der Seiten mit einem Befehl wie "screenupdate.false" in der Solidworks-Version entfernen kann.

 

Wirklich nervig ist es aber nicht =)

 

Nochmals vielen Dank für deine Hilfe, Lucas^^