| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | |  | Rohrleitungen in Maschinen und Anlagen mit Smap3D Plant Design & SOLIDWORKS, ein Webinar am 23.05.2025
|
Autor
|
Thema: PDF Makro farbig schwarz/weis (1491 / mal gelesen)
|
klaus0815 Mitglied
 Beiträge: 7 Registriert: 28.12.2009
|
erstellt am: 09. Jul. 2018 10:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo an alle Interessierten, Ich habe bereits seit längerem ein PDF Makro in Benutzung welches prüft ob ein PDF vorhanden ist und ob dies Schreibgeschützt ist wenn man es überschreiben möchte. (Leichte Modifikation des Makor von Andreas Bacher) Code: ' ****************************************************************************** ' C:\DOKUME~1\ast06\LOKALE~1\Temp\swx2140\Macro1.swb - macro recorded on 14/04/04 by Andreas Bacher ' ******************************************************************************Dim Value As Integer 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
'swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swPDFExportInColor, False 'PDF in SW saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) + ".PDF" ' Speichern als PDF-Datei If Part.SaveAs2(saveFileName, 0, True, True) = 0 Then 'MsgBox ("PDF erstellt") Else MsgBox ("PDF scheint schreibgeschützt zu sein") End If End Sub
Es geht mir um die Auskommentierte Zeile
Code: 'swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swPDFExportInColor, False 'PDF in SW
Hier möchte ich das das PDF in schwarz/weiß erzeugt wird, aber ich bekomme immer Laufzeitfehler 424 und weis nicht direkt was ich dagegen tun kann. Die Zeile habe ich mir einfach aus einem selbst aufgezeichnet Makro entnommen, bei dem ich bei den Einstellungen zu PDF den Haken entferne. Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swPDFExportInColor, False End Sub
Weis einer wie Ich den Code anpassen kann. Bin nicht sehr erfahren, aber man lernt ja immer dazu. Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 820 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 09. Jul. 2018 11:30 <-- editieren / zitieren --> Unities abgeben:          Nur für klaus0815
Hallo Klaus Das liegt an den fehlenden Referenzen. Im VBA-Editor musst du unter Tools->References... die Haken bei SOLIDWORKS 201X Commands type library und SOLIDWORKS 201X Constant type library setzten. Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Spirou85 Mitglied Konstruktuer und CAD-Betreuer

 Beiträge: 70 Registriert: 01.12.2014 HP ZBook 15 G5 Intel Xeon 2,9 GHz - 32GB Ram NVIDIA Quadro P2000M Windows 10 Pro 64Bit Version 1809 Build 17763.1098 SWX2020-64Bit-SP1.0 MaxxDB 2020 SP0.06 DraftSight Enterprise 2019 x64 SP3 3DCONNEXION SpaceMouse Enterprise mit CadMouse
|
erstellt am: 09. Jul. 2018 11:33 <-- editieren / zitieren --> Unities abgeben:          Nur für klaus0815
Hallo Klaus, bei mir sieht die Code-Zeile so aus: Code: swApp.SetUserPreferenceToggle swPDFExportInColor, False 'PDF nicht in Farbe exportieren
Und damit funktioniert es.
------------------ Viele Grüße aus Brackenheim Lars Pauly Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
klaus0815 Mitglied
 Beiträge: 7 Registriert: 28.12.2009
|
erstellt am: 09. Jul. 2018 12:51 <-- editieren / zitieren --> Unities abgeben:         
JAA!! Das ist es Danke! Darauf bin ich nicht gekommen! Für alle die es wissen möchten hier die Einstellungen. Und hier der Code zum PDF in farbe
Code: ' ****************************************************************************** ' C:\DOKUME~1\ast06\LOKALE~1\Temp\swx2140\Macro1.swb - macro recorded on 09/07/18 by Marco Hörnig ' ******************************************************************************Dim Value As Integer 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 pdfColor As Boolean Sub main() ' ** Set swApp = Application.SldWorks pdfColor = swApp.GetUserPreferenceToggle(swUserPreferenceToggle_e.swPDFExportInColor) 'Fragt akutellen Status zu PDF farbig oder schwarz/weis ab 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 swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swPDFExportInColor, True 'True =frabig, False =schwarz/weiß saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) + ".PDF" ' Speichern als PDF-Datei If Part.SaveAs2(saveFileName, 0, True, True) = 0 Then 'MsgBox ("PDF erstellt") Else MsgBox ("PDF scheint schreibgeschützt zu sein") End If swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swPDFExportInColor, pdfColor 'stellt alte Einstellung von PDF farbig oder schwarz/weis wieder her 'MsgBox pdfColor, , "PDF scheint schreibgeschützt zu sein" End Sub
[Diese Nachricht wurde von klaus0815 am 09. Jul. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |