| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Auszubildende der HERMLE AG bei SolidCAM, eine Pressemitteilung
|
Autor
|
Thema: speichern als PDF mit Variable im Dateinamen (3840 mal gelesen)
|
anikicu Mitglied
Beiträge: 78 Registriert: 08.04.2010 SWX 2010 Prem. SP 2.4
|
erstellt am: 29. Apr. 2010 17:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich versuche gerade eine PDF Datei per Makro abzuspeichern. Nur soll der Name der PDF Datei mit einer Eigenschaft "ZeichnungsNr" der Datei verbunden werden. Siehe Bild: Der Name in dem Fall soll lauten: "1111 Teil1.pdf" Habe auch schon ein funktionierendes pdf export Script gefunden. Wie kann ich die richtige Variable in den Dateinamen bringen? Für Hilfe wär ich echt dankbar. Code:
' ****************************************************************************** ' C:\DOKUME~1\ast06\LOKALE~1\Temp\swx2140\Macro1.swb - macro recorded on 14/04/04 by Andreas Bacher ' ****************************************************************************** Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Dim saveFileName As String Sub main()Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc swApp.ActiveDoc.ActiveView.FrameState = 1 swApp.ActiveDoc.ActiveView.FrameState = 1 Part.EditSketch If (swApp.ActiveDoc.GetPathName = "") Then 'Abfrage ob Name vergeben wurde MsgBox ("Bitte zuerst Zeichnung speichern!") Exit Sub End If saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) + ".pdf" ' Speichern als PDF-Datei Part.SaveAs2 saveFileName, 0, True, False End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anikicu Mitglied
Beiträge: 78 Registriert: 08.04.2010 SWX 2010 Prem. SP 2.4
|
erstellt am: 30. Apr. 2010 06:14 <-- editieren / zitieren --> Unities abgeben:
|
nahe Ehrenmitglied
Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 30. Apr. 2010 06:58 <-- editieren / zitieren --> Unities abgeben: Nur für anikicu
|
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 30. Apr. 2010 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für anikicu
Auch auf die Gefahr hin, dass du nicht viel dabei lernst, sondern nur abschreibst... Code:
Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Dim saveFileName As String Dim MyExt as ModelDocExtension Dim MyPropMan as CustomPropertyManager Dim Zeichnungsnummer as String Sub main()Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set MyExt = Part.Extension Set MyPropMan = MyExt.CustomPropertyManager("") 'Wenn Konfigurationsspezifisch, dann hier eintragen swApp.ActiveDoc.ActiveView.FrameState = 1 swApp.ActiveDoc.ActiveView.FrameState = 1 Part.EditSketch If (swApp.ActiveDoc.GetPathName = "") Then 'Abfrage ob Name vergeben wurde MsgBox ("Bitte zuerst Zeichnung speichern!") Exit Sub End If Zeichnungsnummer = MyPropMan.Get("ZeichnungsNr") 'Hier Feldnamen, welcher ausgelesen werden soll saveFileName = Zeichnungsnummer + " " + Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) + ".pdf" ' Speichern als PDF-Datei Part.SaveAs2 saveFileName, 0, True, False End Sub
Der Code ist ungetestet! Du solltest vor dem Auslesen der Dateieigenschaft vielleicht noch eine Prüfung einbauen, ob es denn diese wirklich gibt, denn sonst landet dein Makro ganz schnell im Dreck, wenn sie einmal nicht vorhanden ist. Grüße Tobias ------------------ Besucht mich doch mal in meiner Tischlerei "...Kommunikation ist nur so gut wie ihr Ergebnis..." - frei nach Richard Bandler / John Grinder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
Beiträge: 1142 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 30. Apr. 2010 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für anikicu
|
anikicu Mitglied
Beiträge: 78 Registriert: 08.04.2010 SWX 2010 Prem. SP 2.4
|
erstellt am: 04. Mai. 2010 13:48 <-- editieren / zitieren --> Unities abgeben:
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 04. Mai. 2010 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für anikicu
Hallo anikicu Zitat: Original erstellt von anikicu: Noch eine Frage, wie kann ich mein macro auf ein icon legen?
Unter Extras/Anpassen wechselst du auf den zweiten Reiter und ziehst dir aus dem Bereich Makro den Knopf ganz rechts auf die Toolbar, wo das Icon hin soll. Dann füllst du in der Dialogbox die Parameter für den Makroknopf aus und hast dein Makro als Icon. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anikicu Mitglied
Beiträge: 78 Registriert: 08.04.2010 SWX 2010 Prem. SP 2.4
|
erstellt am: 05. Mai. 2010 06:16 <-- editieren / zitieren --> Unities abgeben:
|