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?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.