20. februar 2007 - 09:06Der er
7 kommentarer og 1 løsning
Link til nyeste file
Jeg vil gerne lave et link i excel til en anden excel file, men det skal være til den nyeste version.
I mappen jeg vil linke til ligger der måske 4 filer som alle indeholder dato og tid. Hvordan kan jeg lave en kode der finder den nyeste og linker til den?
Const søgeMappe = "C:\Documents and Settings\pb\Skrivebord\2002LinkXLS\Nyeste\" 'tilpasses Sub findNyeste() Dim nyeste As String nyeste = søgNyeste(søgeMappe) indsætHyperLink søgeMappe & nyeste End Sub Private Function søgNyeste(folderspec) Dim tidsStempel As Date, nyeste As Date, nyesteFil As String Dim fs, f, f1, fc, s nyeste = 0 nyesteFil = ""
Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) Set fc = f.Files For Each f1 In fc filnavn = f1.Name 'fulde navn dato = Mid(filnavn, 10, 10) tid = Mid(filnavn, 21, 2) + ":" + Mid(filnavn, 24, 2) tidsStempel = dato + " " + tid If tidsStempel > nyeste Then nyeste = tidsStempel nyesteFil = filnavn End If Next søgNyeste = nyesteFil End Function Private Sub indsætHyperLink(nyFil) Cells(1, 1).Select 'indsætter link i A1 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=nyFil, TextToDisplay:=nyFil End Sub
Det ser godt ud, men jeg fik vist ikke udtrykt mig godt nok. Med et link mente jeg egentlig indholdet af cellen A1 i den nyeste file. dvs. C:\Type\test\[Nyeste - 20-02-2007 17.45.xls]1'!$A$1
Const søgeMappe = "C:\Documents and Settings\pb\Skrivebord\2002LinkXLS\Nyeste\" 'tilpasses Dim nyestefil As String Sub findNyeste() Dim nXls nyestefil = søgNyeste(søgeMappe)
Set nXls = CreateObject("Excel.Application") With nXls .Workbooks.Open søgeMappe + nyestefil værdi = .Sheets(1).Cells(1, 1) End With
nXls.Quit Set nXls = Nothing Cells(1, 1) = værdi End Sub Private Function søgNyeste(folderspec) Dim tidsStempel As Date, nyeste As Date Dim fs, f, f1, fc, s nyeste = 0 nyestefil = ""
Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) Set fc = f.Files For Each f1 In fc filnavn = f1.Name 'fulde navn dato = Mid(filnavn, 10, 10) tid = Mid(filnavn, 21, 2) + ":" + Mid(filnavn, 24, 2) tidsStempel = dato + " " + tid If tidsStempel > nyeste Then nyeste = tidsStempel nyestefil = filnavn End If Next søgNyeste = nyestefil End Function
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.