Konverterere >2.000 UNC stier til drev navn i Word 97 filer
Jeg har 2.000 word 97 filer der linker til hver sin excel fil på en server. Problemmet er at disse filer skal flyttes fra en server til en anden og at kæderne i Word filerne er registreret som UNC navne istedet for drevnavnet :( DVS. at hvis/når der bliver flyttet, vil Word filerne kigge på den gamle server efter excel filerne.
Er der nogen der har set et værktøj til at håndtere sådan en situation.
Eller er der nogen der ved om man kan lave noget i Visual Basic som er indbygget i Word. Bare et kode eksempel kan hjælpe en del.
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
Her er en kode der åbner alle worddokumenter i et bibliotek + alle underbiblioteker. Hvis den finder et hyperlink der indeholder den gamle sti erstatter den med ny sti og gemmer filen. Indsæt selv brugervariablerne. Sti er den sti der skal søges worddokumenter i, gammeladresse= første del af den gamle hyperlinkssti fx. //Datasrv1/Data. Ny_adresse= erstatningsadressen fx //Nordborg01/dataområde
Test den først for den er konverteret fra excel.
Sub Makro1() Dim Sti, Gammeladresse, Ny_Adresse As String Set fs = Application.FileSearch '************************************ 'BRUGERVARIABLE Sti = "C:\dokumenter" Gammeladresse = "C:\" Ny_Adresse = "C:\temp" '************************************ Application.ScreenUpdating = False With fs .NewSearch .LookIn = Sti .SearchSubFolders = False 'Ændres efter behov .FileName = "*.doc" End With If fs.Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To fs.FoundFiles.Count fil = fs.FoundFiles(i) Documents.Open fil, 0 For Each h In ActiveDocument.Hyperlinks If InStr(h.Address, Gammeladresse) > 0 Then test = 1 gl_adr = h.Address ny_adr = Ny_Adresse & Right(gl_adr, Len(gl_adr) - Len(gammel_adresse)) h.Address = ny_adr End If Next If test = 1 Then ActiveDocument.Close savechanges:=True Else test = 0 ActiveDocument.Close savechanges:=False End If Next End If Application.ScreenUpdating = True End Sub
Hvis også hyperlinkteksten skal ændres kan du sætte denne linie ind under h.Address=ny_adr. h.TextToDisplay = ny_adr En ting jeg har glemt at skrive er at makroen kun kan køre i word2000, men retter selvfølgelig også word97 filer. Dette skyldes at funktionen replace ikke findes i word97. Dette kan omgåes ved selv at lave en tilsvarende funktion.
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.