So speichern Sie mit einem Makro in einer PDF-Datei

Hallo ihr alle

Hier ist mein Problem, ich möchte die Zeichnungen , die ich ändere, im PDF-Format speichern.

Da ich mehrere hintereinander machen muss, muss ich jedes Mal unter dem Weg neu sparen...... Kurz gesagt, viele Klicks.

Ich habe versucht, ein Makro zu erstellen, es wird im PDF-Format gespeichert, aber immer noch in seinem Erstellungsordner und nicht im selben Ordner wie die Zeichnung.

Das betreffende Makro:

' ******************************************************************************
' C:\Benutzer\FCH. CORADINCORP.001\AppData\Local\Temp\swx3264\Macro1.swb - Makro aufgezeichnet am 30.03.16 von fch
' ******************************************************************************
Dimmen swApp als Objekt

Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long, longwarnings As Long

Sub main()

swApp = _ setzen
Anwendung.SldWorks

Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3("E:\teste macro.PDF", 0, 0)
Ende Sub

 

Danke für Ihre Hilfe

Franziskus


der-pdf-1.swp

Warum nicht Batchconverter verwenden?....

 

1 „Gefällt mir“

Hallo

Hier ist ein Makro, das funktionieren sollte:

 


Dimmen swApp als Objekt

Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim docPath
Dim longstatus As Long, longwarnings As Long

Sub main()

swApp = _ setzen
Anwendung.SldWorks

 

Set Part = swApp.ActiveDoc
docPath = Teil.GetPfadName
longstatus = Part.SaveAs3(Ersetzen(LCase(docPath), ".slddrw", ".pdf"), 0, 0)
Ende Sub

5 „Gefällt mir“

Hallo, verwenden Sie das Dienstprogramm Mycadtools

2 „Gefällt mir“

Hallo

Hier ist das MOCRO, das wir zu Hause verwenden, dieses Makro speichert das PDF automatisch in dem Ordner, in dem sich die Zeichnung befindet.


macro_pdf.swp
1 „Gefällt mir“

Vielen Dank an alle für Ihre Hilfe

SergeR:   Ich weiß nicht, ob ich mich bekehre, aber ich werde es herausfinden.

amseli:   Das Mycad-Tool habe ich im Moment nicht in meinem Vertrag. Ich hoffe auf bald.

Manu 67:  Danke Manu, aber dein Makro ist leer

 

 .PL: Danke für das Makro, ich habe gerade die .sldprt durch slddrw ersetzt und jetzt funktioniert es sehr gut, nochmals vielen Dank

die ursprüngliche Zeile: longstatus = Part.SaveAs3(Replace(LCase(docPath), ".sldprt", ".pdf"), 0, 0)

ersetzen durch: longstatus = Part.SaveAs3(Ersetzen(LCase(docPath), ".slddrw", ".pdf"), 0, 0)

Nochmals vielen Dank an alle für Ihre Hilfe

Franziskus

1 „Gefällt mir“

Dim swApp als SldWorks.SldWorks
Dim swModel As ModelDoc2
Fehler so lange dimmen
Dim lWarnungen so lange

Sub main()

Legen Sie swApp = Application.SldWorks fest
Festlegen von swModel = swApp.ActiveDoc
swModel.Extension.SaveAs GetFilename(swModel.GetPathName) & " rev." & swModel.GetCustomInfoValue("", "Revision") & ".pdf", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nichts, lErrors, lWarnungen

Ende Sub


Funktion GetFilename(strPath als Zeichenfolge) als Zeichenkette
    Dim strTemp As String
    strTemp = Mid$(strPfad, InStrRev(strPfad, "\") + 1)
    GetFilename = Links$(strTemp, InStrRev(strTemp, ".") - 1)
Ende-Funktion

 


macro_pdf.docx
1 „Gefällt mir“

Vielen Dank, manu67, ich werde Ihr Makro so schnell wie möglich ausprobieren

Hallo

Hier ist diejenige, die funktioniert und die ich gerade getestet habe:

Dim swApp als SldWorks.SldWorks
Dim swModel As ModelDoc2
Fehler so lange dimmen
Dim lWarnungen so lange

Sub main()

Legen Sie swApp = Application.SldWorks fest
Festlegen von swModel = swApp.ActiveDoc
swModel.Extension.SaveAs GetFilename(swModel.GetPathName) & " rev." & swModel.GetCustomInfoValue("", "Revision") & ".pdf", swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nichts, lErrors, lWarnungen

Ende Sub

Funktion GetFilename(strPath als Zeichenfolge) als Zeichenkette
Dim strTemp As String
strTemp = Mid$(strPfad, InStrRev(strPfad, "\") + 1)
GetFilename = Links$(strTemp, InStrRev(strTemp, ".") - 1)
Ende-Funktion

3 „Gefällt mir“

Makros funktionieren gut, aber ich habe eine kleine Bitte, die ich hinzufügen möchte, wenn es möglich ist, dass das Makro für alle in Solidworks geöffneten Pläne funktioniert.