| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Von der Idee zum echten Bauteil: Alles mit einer Plattform - SOLIDWORKS macht es möglich |
Autor
|
Thema: Mehrere Zeichnungen mit bestimmte Seiten öffnen (1137 mal gelesen)
|
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 17. Okt. 2017 14:46 <-- editieren / zitieren --> Unities abgeben:
Weshalb kann der Code (vom Makrorekorder) siehe unten nicht die bestimmte Seite öffnen? Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() '1. Zeichnung öffnen Set swApp = _ Application.SldWorks Set Part = swApp.ActiveDoc Set Part = swApp.OpenDoc6("C:\Test\Zeichnung.SLDDRW", 3, 0, "", longstatus, longwarnings) Set Part = swApp.ActiveDoc Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameLeft = 0 myModelView.FrameTop = 28 Set myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized swApp.ActivateDoc2 "Zeichnung - Blatt3", False, longstatus Set Part = swApp.ActiveDoc '2. Zeichnung öffnen 'usw End Sub
swApp.ActivateDoc2 scheint da einzuschlafen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 17. Okt. 2017 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Das kommt jetzt drauf an, was du vorhast: Wenn du nur die Zeichnungen öffnen willst, kannst du dir das Aktivieren sparen, da du beim "händischen" Anzeigen der Zeichnung im SolidWorks diese automatisch aktiv setzt: Code: Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As LongSub main() Set swApp = Application.SldWorks Set Part = swApp.OpenDoc6("C:\Test\Zeichnung.SLDDRW", 3, 0, "", longstatus, longwarnings) Set Part = swApp.OpenDoc6("C:\Test\Zeichnung1.SLDDRW", 3, 0, "", longstatus, longwarnings) Set Part = swApp.OpenDoc6("C:\Test\Zeichnung2.SLDDRW", 3, 0, "", longstatus, longwarnings) 'usw. End Sub
Falls du noch ein bestimmtes Blatt aktiv setzen willst, sieht das dann so aus: Code:
Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As LongSub main() Set swApp = Application.SldWorks Set Part = swApp.OpenDoc6("C:\Test\Zeichnung.SLDDRW", 3, 0, "", longstatus, longwarnings) boolstatus = Part.ActivateSheet("Blatt3") Set Part = swApp.OpenDoc6("C:\Test\Zeichnung1.SLDDRW", 3, 0, "", longstatus, longwarnings) 'usw. End Sub
Das "Set Part = swApp.ActiveDoc" brauchst du nur, wenn du mit der eben geöffneten Zeichnung im Makro weiterarbeiten willst. (Und wenn, dann nur einmal ) Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 18. Okt. 2017 08:35 <-- editieren / zitieren --> Unities abgeben:
|
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016 SW 2019 SP3.0 Windows 10 Pro 64bit CPU E3-1220 v5, Quadro M2000, 16GbRAM, 3DxWare 10.4.9, LGS 8.91.48
|
erstellt am: 19. Okt. 2017 08:06 <-- editieren / zitieren --> Unities abgeben:
Habe noch ein Problem, denke dazu muss ich nicht extra einen neuen Thread aufmachen. In machnchen Fällen nummeriere ich die Seiten um schneller nachzuschauen, falls ein Kunde mal anruft und sagt Bl. Nr. 8 ist falsch als Beispiel. Nur wenn ich aber neue Blätter einfüge oder die Position verschiebe sind dann meine Nummerierungen nicht mehr chronologisch (siehe Bild als Anhang). Muss ich da jedesmal die Blätternamen immer neu bezeichnen oder kann man da ein VBA-Code abspielen lassen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur Maschinenbau und Anlagenbau (m/w/d) | Technologischer Fortschritt gelingt nur, wenn Visionen zur Realität werden. Dazu bringen wir bei FERCHAU als eine der führenden europäischen Plattformen für Technologie-Dienstleistungen die smartesten und innovativsten Köpfe mit Unternehmen verschiedenster Branchen zusammen. Wir suchen dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 19. Okt. 2017 08:18 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Hier der Code-Schnipsel: Code:
vSheets = Part.GetSheetNamesFor i = 1 To swModel.GetSheetCount Part.ActivateSheet vSheets(i - 1) Set swSheet = Part.GetCurrentSheet swSheet.SetName "Name" Next i
Den Rest der Schleife bastelst du dir mal schön selbst! Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|