Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro zum export mit Datum

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
Autor Thema:   Makro zum export mit Datum (955 mal gelesen)
alte.socke
Mitglied



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

Beiträge: 11
Registriert: 23.01.2018

erstellt am: 24. Jan. 2018 12:14    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

Die Suche hat mir nicht weiter geholfen, obwohl ich denke, dass es soetwas bestimmt schon gibt.

Bei Stefan gibts ein Makro, mit dem man Zeichnungen in allen möglichen Formaten exportieren kann (z.B. PDF, DXF und JPG) und das gleiche auch für Modelle (z.B. als Step und Parasolid). Die Makros funktionieren (Nr 20 und 36 in der Tauschbörse).

Was ich nur gerne hätte wäre, dass beim Speichern das aktuelle datum mit an den Dateinamen angehängt wird. Wie bekommt man das hin oder gibt es soetwas schon?

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP)


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

Beiträge: 1050
Registriert: 20.12.2003

SolidWorks 2019 SP5, Windows 10 x64,
Workstation:
Fujitsu Celsius M740 Power, Xeon E5-1650v4, 32 GB DDR-Ram, Quadro K4000
Laptop:
HP ZBook 17 G4, i7-7820HQ, 32 GB DDR-Ram, Quadro P-3000

erstellt am: 25. Jan. 2018 08:32    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 alte.socke 10 Unities + Antwort hilfreich

Hallo alte Socke,

ich habe mal die Änderungen am Makro 20 eingebaut.

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
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

' Dateiname mit angehängtem Datum
saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & " " & Date

Part.SaveAs2 saveFileName & ".dxf", 0, True, False ' Speichern als DXF-Datei

Part.SaveAs2 saveFileName & ".pdf", 0, True, False ' Speichern als PDF-Datei

Part.SaveAs2 saveFileName & ".jpg", 0, True, False ' Speichern als JPG-Datei

End Sub


Wenn du das Datum vorangestellt haben möchtest, dann wird es etwas aufwändiger,
da du dann den kompletten Dateinamen "zerlegen" musst in den Pfad und
in den eigentlichen Dateinamen. Dazu gibt es aber einige Beispiele.

------------------
==========
Gruß
Andreas
==========

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2354
Registriert: 18.07.2012

-Solid Works 2019 SP3
-Pro Engineer WF 3

erstellt am: 25. Jan. 2018 08:32    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 alte.socke 10 Unities + Antwort hilfreich

Hallo,

irgendwo im Code wird der neue Name für das Speichern zusammengesetzt und hier könntest du direkt die Funktion "Date" mit einbauen.

[EDIT] Da war der Andreas einen ticken schneller wie ich und vor allem ausführlicher 

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete  

[Diese Nachricht wurde von bk.sc am 25. Jan. 2018 editiert.]

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

alte.socke
Mitglied



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

Beiträge: 11
Registriert: 23.01.2018

erstellt am: 25. Jan. 2018 09:06    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

Super, vielen Dank!

Eine Frage hab ich noch zum Datumsformat:
Kann man das aus sortierungsgründen auch im Format JJJJ.MM.DD bekommen?

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

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: 25. Jan. 2018 09:55    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 alte.socke 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von alte.socke:
Kann man das aus sortierungsgründen auch im Format JJJJ.MM.DD bekommen?

Ja, statt einfach nur Date nimmst du die Format-Funktion von VBA, müsste ungefähr so aussehen
Code:

saveFileName = Left([...] & " " & Format(Date,"yyyy.mm.dd")

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Ralf Tide
Moderator
Beratender Ingenieur




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

Beiträge: 4474
Registriert: 06.08.2001

.-)

erstellt am: 25. Jan. 2018 10:07    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 alte.socke 10 Unities + Antwort hilfreich

...zum noch besseren sortieren (bei numerischen Datumsangaben empfiehlt die DIN 5008 die Schreibweise JJJJ-MM-TT):
Code:
saveFileName = (Format(Date, "yyyy-mm-dd")) & "_" & Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7)


my 2cents   
[edit]
Zu schnell gewesen  
[/edit]
[edit2]
Jetzt nochmal langsam 
Code:
' Dateinamen aus Pfad, Datum und Titel zusammensetzen
Titel = Part.GetTitle
Pfad = Part.GetPathName
While Right$(Pfad, 1) <> "\"
    Pfad = Left(Pfad, (Len(Pfad) - 1))
Wend
saveFileName = Pfad & (Format(Date, "yyyy-mm-dd")) & "_" & Titel


[/edit2]
------------------

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

alte.socke
Mitglied



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

Beiträge: 11
Registriert: 23.01.2018

erstellt am: 25. Jan. 2018 14:01    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

Wow, das geht ja flott hier!

ich hab es so umgestellt, dass das Datum nach hinten kommt, jetzt hab ich nur noch eine Kleinigkeit:
Es wird immer "Blatt-1" mit ausgegeben als Name. Bekommt man das noch irgendwie weg?

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP)


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

Beiträge: 1050
Registriert: 20.12.2003

SolidWorks 2019 SP5, Windows 10 x64,
Workstation:
Fujitsu Celsius M740 Power, Xeon E5-1650v4, 32 GB DDR-Ram, Quadro K4000
Laptop:
HP ZBook 17 G4, i7-7820HQ, 32 GB DDR-Ram, Quadro P-3000

erstellt am: 25. Jan. 2018 14:11    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 alte.socke 10 Unities + Antwort hilfreich

Wo genau befindet sich das "Blatt 1". Dann kann das leichter lokalisiert
und "rausgeschnitten" werden.

------------------
==========
Gruß
Andreas
==========

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

alte.socke
Mitglied



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

Beiträge: 11
Registriert: 23.01.2018

erstellt am: 25. Jan. 2018 16:03    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

Also die Datei heisst "Spannhülse", oben im Kopf von SW steht "Spannhülse - Blatt1" und gespeichert wird als "Spannhülse - Blatt1_2018-01-25"

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP)


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

Beiträge: 1050
Registriert: 20.12.2003

SolidWorks 2019 SP5, Windows 10 x64,
Workstation:
Fujitsu Celsius M740 Power, Xeon E5-1650v4, 32 GB DDR-Ram, Quadro K4000
Laptop:
HP ZBook 17 G4, i7-7820HQ, 32 GB DDR-Ram, Quadro P-3000

erstellt am: 25. Jan. 2018 16:27    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 alte.socke 10 Unities + Antwort hilfreich

Hallo,

dann ändere in meinem Code von oben mal die nachfolgende Zeile:

Code:
' Dateiname mit angehängtem Datum
saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "_" & (Format(Date, "yyyy-mm-dd"))

Ralf hat den Fenstertitel rangezogen und der hat dieses "Blatt1" mit dabei.

------------------
==========
Gruß
Andreas
==========

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

alte.socke
Mitglied



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

Beiträge: 11
Registriert: 23.01.2018

erstellt am: 26. Jan. 2018 13:33    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

Perfekt, vielen Dank!

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)2020 CAD.de | Impressum | Datenschutz