PDF-Makro im aktuellen Ordner speichern

Hallo

Trotz all der Fragen, die bereits zu Makros für einen PDF-Datensatz auf Solidworks (in meinem Fall 2014) gestellt wurden, kann ich nichts finden, was meinem Problem entspricht.

Ich möchte ein Makro, das den Plan als PDF im aktuellen Ordner speichert, mit dem aktuellen Dateinamen, aber da ich keine Kenntnisse über VBA-Code habe, ist es mir unmöglich, den Code in der Zeile des Pfads zu ändern, in der die PDF-Datei gespeichert wird, trotz vieler Recherchen im Internet.

Ich habe ein Makro erstellt, indem ich gelernt habe, dass hier ist, alles, was übrig bleibt, ist, diese berühmte Linie zu ändern.

In meinem Fall speichert das Makro PDFs mit dem Namen "1841-22" immer im Ordner "1841", während ich es bei einem "1836-12"-Plan im Ordner "1836" haben möchte, während ich ein einziges gemeinsames Makro für alle meine Ordner und nicht ein Makro für jeden Ordner habe.

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
myModelView als Objekt dimmen
Festlegen von myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Teil.ViewZoomtofit2
Teil.ViewZoomtofit2
Teil.ViewZoomtofit2
longstatus = Teil.SaveAs3("M:\Konstruktionsbüro\Produkte\1800-49\1841\1841-22.PDF", 0, 0)
Ende Sub

 

Vielen Dank im Voraus für Ihre Hilfe,

 

Herzliche Grüße

 

Allan.

 

Hallo

Sehen Sie hier, wie Sie den Dateinamen wiederherstellen können:

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

Und diese Zeile muss geändert werden:

longstatus = Teil.SaveAs3("M:\Konstruktionsbüro\Produkte\1800-49\1841\1841-22.PDF", 0, 0)

Wir können uns auch von diesem Makro inspirieren lassen:

https://forum.solidworks.com/servlet/JiveServlet/download/116587-39393/Save%20Part-Assembly%20as%20Parasolid.zip

Siehe auch meine Makros hier (ich weiß nicht, welches den Dateinamen enthält):

http://www.lynkoa.com/tutos/macro-ouvrir-la-piece-dans-l-assemblage

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

Tatsächlich habe ich die Änderung vorgenommen, versuchen Sie Folgendes:

Sub main()

Legen Sie swApp = Application.SldWorks fest

Set Part = swApp.ActiveDoc

Ruft den vollständigen Pfad des aktuellen Dokuments ab, einschließlich des Dateinamens:
Pfadname = UCase(PArt.GetPfadname)


myModelView als Objekt dimmen
Festlegen von myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Teil.ViewZoomtofit2
Teil.ViewZoomtofit2
Teil.ViewZoomtofit2
longstatus = Teil.SaveAs3(Ersetzen(Pfadname,"SLDDRW","PDF") , 0, 0)
Ende Sub

2 „Gefällt mir“

Vielen Dank.PL Ihre Modifikation perfekt funktioniert, ich habe es an mehreren Dateien ausprobiert und keine souçi, danke für Ihre Hilfe!

1 „Gefällt mir“

Mr. Macro hat wieder ausgewuchert^^

1 „Gefällt mir“

Wenn Sie MyCADtools haben, macht PowerPrint das sehr gut.

 

äh gegeben, wenn wir den gleichen Pfad haben möchten, aber nur den Namen der Datei, der diese möglichen its ändert? Wir müssen notieren oder die Info?? :)

Tag zusammen

Nach mehreren Monaten abschließender Tests dank des Makros von .PL (nochmals vielen Dank), melde ich mich für ein kleines Detail, das mich langsam zu stören beginnt, zu Ihnen zurück.

Wenn ein .PDF Plan in der Werkstatt zur Beratung geöffnet wird und ich eine Änderung vornehmen muss. auf derselben Ebene direkt auf Solidworks und ich dieses PDF-Makro verwende, stürzt Solidworks ab und wird geschlossen, da es die PDF-Datei nicht überschreiben kann, da sie bereits geöffnet ist.

Wenn ich jedoch versuche, den Plan .PDF mit dem sous-.PDF "Dateispeichern" zu speichern, wird die Meldung "Diese Datei ist schreibgeschützt" angezeigt, sodass Solidworks nicht abstürzt.

Wäre es möglich, eine Codezeile in meinem Makro abzurufen, die es mir ermöglichen würde, diese Meldung zu erhalten, wenn die Datei bereits geöffnet ist, und Solidworks nicht zum Absturz zu bringen?

Vielen Dank im Voraus für Ihre Hilfe,

Herzliche Grüße

Allan.

1 „Gefällt mir“

@allan.Kommentar : Stellen Sie eine neue Frage im Forum, niemand kommt, um die alten zu sehen.