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?
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge 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.