22. december 2004 - 10:10Der er
7 kommentarer og 1 løsning
relativ kædesti
jeg skal have linket til en celle i et andet dokument, men stien skal være relativ. Problemet ligger i, at filen, der skal linkes til, ligger et niveau oppe.. mit mappehieraki ser således ud:
Du kan få stien på det aktive xls-dokument fra VBA. Ud fra den kan du sagtens finde stien til niveauet over. Altså:
I CHP_preferred.xls kan du ved følgende kode få de stier du ønsker:
Dim strCurrentFolder As String Dim strMotherFolder As String strCurrentFolder = ActiveWorkbook.Path strMotherFolder = Mid(strCurrentFolder, 1, InStrRev(strCurrentFolder, "\") - 1) MsgBox "Stien til denne xls-fil er : " & strCurrentFolder MsgBox "Stien til niveauet over denne xls-fil er : " & strMotherFolder
jeg er nået til at have lavet noget, der ikke virker..
jeg har lavet denne funktion Function link(r As String) link.FormulaR1C1 = "='" & Mid(ActiveWorkbook.Path, 1, InStrRev(ActiveWorkbook.Path, "\")) & r End Function
og jeg accesser den med denne linje =link("[globals_status.xls]Sheet1'!R2C1")
Jeg tror ikke det kan klares med en funktion på arket. Denne sub ændrer alle links i arket . Du kan evt. kalde den fra Sub Auto_Open eller workbook_open
Sub DynamicLinks() Dim aLinks As Variant Dim stNewPath As String Dim i As Long stNewPath = GetPath(ThisWorkbook.Path) aLinks = ActiveWorkbook.LinkSources() If Not IsEmpty(aLinks) Then For i = 1 To UBound(aLinks) If Not GetPath(aLinks(i)) = stNewPath Then ActiveWorkbook.ChangeLink Name:=aLinks(i), _ NewName:=stNewPath & "\" & GetFileName(aLinks(i)), Type:=xlExcelLinks End If Next i End If End Sub
Function GetPath(vFolder) As String GetPath = Mid(vFolder, 1, InStrRev(vFolder, "\") - 1) End Function
Function GetFileName(vFolder) As String Dim vTemp As Variant vTemp = Split(vFolder, "\") GetFileName = vTemp(UBound(vTemp)) End Function
1^(½) -> Den vil selvfølgelig fejle hvis der ikke er et overliggende bibliotek. Jeg har ikke bygget nogen som helst fejlfangere på.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.