Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA Ich brauche ViewPdfAfterSaving für jpg-Dateien

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Mission 3D-Druck – die Zukunft der Fertigung
Autor Thema:  VBA Ich brauche ViewPdfAfterSaving für jpg-Dateien (2396 mal gelesen)
fabian1243
Mitglied
Maschinen-Konstrukteur


Sehen Sie sich das Profil von fabian1243 an!   Senden Sie eine Private Message an fabian1243  Schreiben Sie einen Gästebucheintrag für fabian1243

Beiträge: 44
Registriert: 28.06.2018

SW 2021
Win 10 Pro v1909

erstellt am: 22. Okt. 2018 10:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo habe das Problem mit dem Pdf öffnen nach dem speichern mit dem nachfolgenden Makro gelöst. Nun bräuchte ich das gleiche aber für jpg-Dateien. Wisst ihr wie ich den Wert ansteuern kann? "ViewJpgAfterSaving" wird es ja wohl kaum heißen.

Code:
Option Explicit

Public swApp As Object
Public swModel As SldWorks.ModelDoc2
Public NeuerPfad As String

Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    NeuerPfad = Left(swModel.GetPathName, Len(swModel.GetPathName) - 6) & "pdf" 'Der Pfad wird auf Pdf geändert
   
    swApp.GetExportFileData(1).ViewPdfAfterSaving = False 'Pdf wird nicht geöffnet nach dem Speichern
    swModel.Extension.SaveAs NeuerPfad, 0, 0, swApp.GetExportFileData(1), 0, 0 'Speichern
   
End Sub



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 22. Okt. 2018 16:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Zitat:
...
das Problem mit dem Pdf öffnen nach dem speichern mit dem nachfolgenden Makro gelöst...
Code:
Option Explicit
    swApp.GetExportFileData(1).ViewPdfAfterSaving = False


Hallo,

sieht irgendwie merkwürdig aus,
laut doku hat swExportDataFileType_e genau ein Member, nämlich swExportPdfData mit dem Wert 1.

swExportJpgData oder swExportPngData scheinen da nicht vorgesehen zu  sein - hat man vielleicht vergessen ...

falls es sich um eine Zeichnung handelt, würde ich png oder tiff mit Komprimierung bevorzugen. Und mal mit der Option "silent" probieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
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: 23. Okt. 2018 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian,

ich würds mal so probieren


Sub runit(pfad As String)
  Dim Shex As Object
  Set Shex = CreateObject("Shell.Application")
  Shex.Open (pfad)
End Sub

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 23. Okt. 2018 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von fabian1243:
... habe das Problem mit dem Pdf öffnen nach dem speichern ...

Hallo,

aber wie war doch gleich das Problem?
a) es wird automatisch geöffnet, soll aber nicht
b) es wird nicht geöffnet, soll aber

meine Vermutung ging mehr zu a)   

Gruß, Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian1243
Mitglied
Maschinen-Konstrukteur


Sehen Sie sich das Profil von fabian1243 an!   Senden Sie eine Private Message an fabian1243  Schreiben Sie einen Gästebucheintrag für fabian1243

Beiträge: 44
Registriert: 28.06.2018

SW 2021
Win 10 Pro v1909

erstellt am: 23. Okt. 2018 16:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja genau es soll beim speichern der JPG Datei keine Vorschau aufgemacht werden. Da ich via Dateibrowser zb 50 Dateien auswähle welche als JPG gespeichert werden sollen. Ich weis jetzt nicht wie ich diesen Shellbefehl einfügen soll bzw was der bringt. Das mit dem Silent wie realisiere ich das im Code?

Mfg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
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: 24. Okt. 2018 10:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian,

ich hab wieder mal falsch gelesen
und dachte Du möchtest die Datei öffnen.

Für die Option bei Grafikdateien habe ich jetzt mal gesucht und auch keine Option gefunden, mit der man das beeinflussen könnte.

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 813
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: 24. Okt. 2018 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian

Dazu gibt es das SPR 1014813: Missing API option to set Save As -> JPEG -> View JPEG after saving
Bei geöffnetem Solidworks bleibt nur der Weg, ein JPG manuell zu speichern und da den Haken zu entfernen.

Als Alternative könnte man bei geschlossenem Solidworks direkt auf die Registry zugreifen.
Hier mal die Pfade für SolidWorks 2018.

Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Solidworks\Solidworks 2018\Export Settings]
"View JPEG After Saving"=dword:00000000
"View PDF After Saving"=dword:00000000
"View PNG After Saving"=dword:00000000
"View TIF After Saving"=dword:00000000


Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian1243
Mitglied
Maschinen-Konstrukteur


Sehen Sie sich das Profil von fabian1243 an!   Senden Sie eine Private Message an fabian1243  Schreiben Sie einen Gästebucheintrag für fabian1243

Beiträge: 44
Registriert: 28.06.2018

SW 2021
Win 10 Pro v1909

erstellt am: 25. Okt. 2018 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von HenryV:
Hallo Fabian

Dazu gibt es das SPR 1014813: Missing API option to set Save As -> JPEG -> View JPEG after saving
Bei geöffnetem Solidworks bleibt nur der Weg, ein JPG manuell zu speichern und da den Haken zu entfernen.

Als Alternative könnte man bei geschlossenem Solidworks direkt auf die Registry zugreifen.
Hier mal die Pfade für SolidWorks 2018.

Code:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Solidworks\Solidworks 2018\Export Settings]
"View JPEG After Saving"=dword:00000000
"View PDF After Saving"=dword:00000000
"View PNG After Saving"=dword:00000000
"View TIF After Saving"=dword:00000000


Gruss Andreas


Aber das Programm läuft immer nur bei geöffnetem Solidworks, deshalb wird mir nur mehr überrigbleiben die Vorschau mit einer Shell zu beenden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

magge84
Mitglied
Dipl.-Ing. (Entwicklung)


Sehen Sie sich das Profil von magge84 an!   Senden Sie eine Private Message an magge84  Schreiben Sie einen Gästebucheintrag für magge84

Beiträge: 66
Registriert: 04.09.2008

Solid Works 2018 + PDM
Windows 10 64-bit
HP Z-Book
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
NVIDIA Quadro M3000M

erstellt am: 25. Okt. 2018 13:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Hallo Fabian,

ich glaube, du hast das falsch verstanden.

Schließe dein Solidworks und dann gehe zu den Registry-Einträgen wie von Andreas beschrieben.
Den enstprechenden Registry-Eintrag (z.B. "View JPEG After Saving"=dword:00000000) kannst du per RMK ändern.
Wenn du jetzt anstatt einer 1 eine 0 eingibst, wird der Haken beim Speichern standardmäßig weg genommen.

Sollte dann auch mit deinem Makro funktionieren - ohne das jetzt probiert zu haben.

BTW: Beim Ändern des Registry muss SolidWorks geschlossen sein. Falls nicht, wird der Eintrag beim Schließen auf den Wert gesetzt, der beim Starten von SWX aktiv war.

------------------
Gruß,
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 25. Okt. 2018 18:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

ich glaube, es könnte auch bei laufendem SWX gehen ... 

schreib dir die Schlüssel in eine Datei dontview.sldreg und eine view.sldreg
und dann lad sie mit "Einstellungen speichern/wiederherstellen".
jedenfalls von Hand scheint das auch zur Laufzeit von SolidWorks zu funktionieren.

Bleibt die Frage, ob man das per api ansprechen kann ... auf die Schnelle hab ich das nicht gefunden.

Gruß, Christian

Code:
REGEDIT4
;SolidWorks Copy Settings Wizard

[HKEY_CURRENT_USER\Software\SolidWorks]

[HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2016]

[HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2016\Export Settings]
"View PDF After Saving"=dword:00000000
"View TIF After Saving"=dword:00000000
"View PNG After Saving"=dword:00000000
"View JPEG After Saving"=dword:00000000


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 29. Okt. 2018 11:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian1243 10 Unities + Antwort hilfreich

Wenn das per api nicht geht, kann man den Wert auslesen und zum manuellen Ausführen auffordern.
das muss ja dann nur einmal gemacht werden.
Code:
Dim ws As Object
Set ws = CreateObject("WScript.Shell")
if ws.RegRead("HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2016\Export Settings\View JPEG After Saving")>0
then
    Aufforderung
    Exit Sub
end if


oder so ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz