Hallo ihr alle
Ich habe derzeit ein Makro, mit dem ich mein .slddrw-Dokument im PDF-Format unter demselben Verzeichnis und demselben Namen speichern kann.
So weit so gut, das Problem ist, dass es alle Blätter meiner Zeichnung speichert und ich möchte, dass es mir nur das aktive Blatt speichert, wenn ich mein Makro starte.
Ich bin mir sicher, dass die Lösung einfach ist, aber nichts zu tun Ich kann den richtigen Code nicht finden, hier ist das Makro, das ich aus dem Forum bekommen habe und das ich verwende:
'**************************************************************************************************************************
'* Beispiel für ein Makro, mit dem Sie Dokumente als PDFs speichern können
'* Sie können die Erweiterung ändern, um das Dokument in jedem Format zu speichern, das von SW unterstützt wird
'* Basierend auf dem Beispiel von Axemble "Saveas_pdf"
'* Bearbeiten von MCD
'**************************************************************************************************************************
Sub main()
Dim swApp als SldWorks.SldWorks
Dim swmodel As SldWorks.ModelDoc2
Dim stPath As String
Dim lgFile so lange
Dim blretval as Boolean
Fehler so lange dimmen
Schwache Warnungen, solange sie nicht angezeigt werden
Legen Sie swApp = Application.SldWorks fest
"Wir erhalten das aktive Dokument
Legen Sie swmodel = swApp.ActiveDoc fest.
Wenn nicht, ist swmodel nichts, dann
"Wir überprüfen, ob die Datei registriert ist
Wenn swmodel. GetPathName = "" dann
MsgBox "Bitte speichern Sie Ihr Dokument, bevor Sie das Makro starten", vbInformation
Ende
Oder
"Wir erhalten den Speicherort der Datei
stPath = swmodel. GetPathName (Englisch)
"Wir bringen die Anzahl der Zeichen auf . der Erweiterung
lgFile = InStrRev(stPath, ".", -1, vbTextCompare) - 1
"Wir gewinnen den Weg ohne die Verlängerung zurück
Wenn lgFile 0 >, dann
stPath = Links(stPath, lgFile)
Ende, wenn
Ende, wenn
"Handelt es sich bei dem Dokument um ein Dokument
Wenn swmodel. GetType = swDocPART Dann
Wir schaffen die entwickelten
'blretval = swmodel. ExportFlatPatternView(stPath & ". DXF", 1)
Das DXF wurde erstellt
'blretval = swmodel. SaveAs3(stPath & ". DXF", 0, 0)
MsgBox "Dies ist eine Piéce-Datei. Öffnen Sie die Zeichnung, um das PDF zu erstellen", vbInformation
"Handelt es sich bei dem Dokument um eine Zeichnung
ElseIf sw-Modell. GetType = swDocDRAWING Dann
Das DXF wurde erstellt
'blretval = swmodel. SaveAs3(stPath & "_drw.pdf", 0, 0)
Erstellen der PDF-Datei
blretval = swmodel. SaveAs3(stPath & ".pdf", 0, 0)
Ende, wenn
"Wir speichern die Datei
blretval = swmodel. Speichern3(0, 0, 0)
Ende, wenn
Ende Sub