ich möchte ein Makro schreiben, welches beim Speichern den Dateinamen anhand bestimmter Werte in bestimmten Zellen festlegt und nach erfolgter Speicherung einen Hyperlink zu dieser Datei in einer anderen abspeichert. Das ganze soll unbemerkt im Hintergrund ablaufen.
Ziel soll es sein, Dateinamen für Messprotokolle automatisch zu erzeugen und eine Liste in einer Speraten Datei zu führen, in welcher unter anderem die Hyperlinks zu den jeweiligen Datein hinterlegt sind.
Momentan lässt sich die Datei, in welcher die Hyperlinks stehen sollen zwar öffnen, die Tabellenblätter sind jedoch nicht sichtbar
https://www.herber.de/bbs/user/139231.xlsm
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim aktueller_pfad As String
Dim aktueller_name As String
Dim Zieldatei As String
Dim Speicherort As Object
Zieldatei = "test.xlsx" 'Bezeichnung Zieldatei in die Hyperlink geschrieben werden soll
'Dateinamen automatisch aus Zellinhlat vorgeben
Application.Dialogs(xlDialogSaveAs).Show Range("J6") & Format("-") _
& Range("A1") & Format("-") _
& Range("A2") & Format("-") _
& Range("A3") & Format("-") _
& Range("A4") & Format("-") _
& Range("A5")
'akutellen Name & Pfad speichern
aktueller_pfad = ActiveWorkbook.Path
aktueller_name = ActiveWorkbook.Name
'Zieldate öffnen, Hyperlink schreiben, speichern, schließen
Set Speicherort = GetObject("Dateipfad..." & Zieldatei)
With Workbooks("test.xlsx").Worksheets("Tabelle1")
.Hyperlinks.Add Anchor:=.Range("a5"), Address:=aktueller_pfad & "\" & aktueller_name, _
TextToDisplay:="Hyperlink"
End With
Speicherort.Save
Speicherort.Close
MsgBox "Daten erfolgreich übernommen"
End Sub