Hallo,
wir haben ein Makro, das ein ehemaliger Kollege erstellt hat, mit dem wir PDF's auf dem Desktop speichern können.
Der Dateiname der PDF ist gleich der SW-Zeichnung.
Wir würden gerne das Makro dahingegend ändern, dass der Dateiname vorher abgefragt wird und wenn nötig geändert werden kann.
Sub main()
' Das Zielverzeichnis steht in der Registrierung. Falls kein Eintrag vorhanden ist,
' wird abgefragt und in die Registrierung zurückgeschrieben.
Arbeitsverzeichnis = GetSetting("SPI-Dateizwischenspeichern", "Config", "Arbeitsverzeichnis")
If Arbeitsverzeichnis = "" Then
Arbeitsverzeichnis = InputBox("Bitte Speicherort eingeben!", "Unter eindeutigem Namen speichern", Environ$("USERPROFILE") & "\Desktop\")
SaveSetting "SPI-Dateizwischenspeichern", "Config", "Arbeitsverzeichnis", Arbeitsverzeichnis
End If
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
swApp.ActiveDoc.ActiveView.FrameState = 1
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.EditSketch
If Part Is Nothing Then End ' Abbrechen, wenn gar kein SolidWorks-Dokument geöffnet
AktuellesDokTyp = Part.GetType() ' Part = 1, Assy = 2, Zeichnung = 3
Pos1 = InStrRev(swApp.ActiveDoc.GetPathName, "\")
Pos2 = InStrRev(swApp.ActiveDoc.GetPathName, ".")
If (swApp.ActiveDoc.GetPathName = "") Then 'Abfrage ob Name vergeben wurde
MsgBox ("Bitte zuerst Zeichnung speichern!")
Exit Sub
End If
If AktuellesDokTyp = 3 Then saveFileName = Environ$("USERPROFILE") & "\Desktop\" + Mid(swApp.ActiveDoc.GetPathName, Pos1, (Pos2 - Pos1)) + ".pdf" ' Speichern als PDF-Datei auf dem Desktop
Part.SaveAs2 saveFileName, 0, True, False
' Arbeitsverzeichnis = GetSetting("SPI-Dateizwischenspeichern", "Config", "Arbeitsverzeichnis")
If Right(Arbeitsverzeichnis, 1) <> "\" Then Arbeitsverzeichnis = Arbeitsverzeichnis + "\"
ZeitAlsDateiname = Arbeitsverzeichnis + ZeitAlsDateiname
End Sub
Über Hilfe wären wir dankbar.
Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP