Hallo team,
Ik besloot een maccro te gaan maken om tijd te besparen op mijn werk.
Als beginner las ik eerst veel onderwerpen op dit forum, maar ik vond niet per se mijn antwoorden.
Laat het me uitleggen: ik heb een maccro gemaakt met de functie "Opslaan".
Het doel van deze maccro zou in orde zijn:
- Vanuit een kamer. SLDPRT
- Sla het op in . STAP
- Open je tekening
- Opslaan als . DxF
- Opslaan als PDF
- Tekening sluiten
- Sluit de kamer
De code die daaruit voortkomt is als volgt:
’ ******************************************************************************
' C:\Users\bguyetand\AppData\Local\Temp\swx4952\Macro1.swb - macro opgenomen op 20/09/23 door BGuyetand
’ ******************************************************************************
Dim swApp als object
Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long
Sub hoofd()
Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc
' Opslaan als
longstatus = Deel.SaveAs3("C:\Gebruikers\bguyetand\Desktop\Part1.STEP", 0, 2)
' Open
Set Part = swApp.OpenDoc6("C:\Users\bguyetand\Desktop\Part1.SLDDRW", 3, 0, "", longstatus, longwarnings)
Dim swDrawing Als DrawingDoc
Set swDrawing = Deel
Deel instellen = swApp.ActiveDoc
myModelView dimmen als object
Stel myModelView = Deel.ActiveView in
myModelView.FrameLeft = 0
myModelView.FrameTop = 22
Stel myModelView = Deel.ActiveView in
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Part1 - Sheet1", False, longstatus
Deel instellen = swApp.ActiveDoc
Stel myModelView = Deel.ActiveView in
myModelView.FrameState = swWindowState_e.swWindowMaximized
' Opslaan als
longstatus = Deel.SaveAs3("C:\Gebruikers\bguyetand\Desktop\Pièce1.pdf", 0, 2)
Deel.BladVorige
' Hertekenen
Deel.GraphicsRedraw2
' Inzoomen op gebied
Deel.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Inzoomen op gebied
Deel.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Opslaan als
longstatus = Deel.Opslaan3("C:\Gebruikers\bguyetand\Desktop\Part1.DXF", 0, 2)
' Document sluiten
Set swDrawing = Niets
Set Deel = Niets
swApp.CloseDoc "Deel 1 - Blad1"
Deel instellen = swApp.ActiveDoc
Stel myModelView = Deel.ActiveView in
myModelView.FrameLeft = 0
myModelView.FrameTop = 0
Stel myModelView = Deel.ActiveView in
myModelView.FrameState = swWindowState_e.swWindowMaximized
swApp.ActivateDoc2 "Part1.SLDPRT", False, longstatus
Deel instellen = swApp.ActiveDoc
Stel myModelView = Deel.ActiveView in
myModelView.FrameState = swWindowState_e.swWindowMaximized
' Document sluiten
Set swPart = Niets
Set Deel = Niets
swApp.CloseDoc "Deel 1.SLDPRT"
Einde Sub
Mijn probleem is dat momenteel, wanneer ik deze maccro start, het mijn testkamer opent die ik had gemaakt (een eenvoudige kubus) om de stappen uit te vouwen.
Bovendien neemt het alles op het bureaublad op.
Is het mogelijk om mij in mijn maccro uit te leggen:
- Hoe kan ik mijn "test" deel vervangen door het "actieve" deel op mijn scherm?
- Hoe sla ik de bestanden op in de open kamermap?
Ik hoop dat ik duidelijk genoeg ben geweest in mijn uitleg
Bij voorbaat dank voor de tijd die u mij geeft!!