25. januar 2007 - 09:25Der er
8 kommentarer og 1 løsning
Kæde mellem word & Excel skal angives som relativ sti
Hej
Jeg har et word document som indeholder en lang række kæder til et Excel document, som er placeret i samme mappe. Jeg kører så en makro fra Excel som udarbejder en masse dokumenter på baggrund af word filen. Så langt så godt.
Da det er meningen at samlingen skal bruges på flere computere og flere forskellige sammenhænge ville jeg gerne, hvis jeg kunne angive stien i kæderne som relative stier.
Da det ikke at brugeren aktivt skal åbne word dokumentet - skal evt. makroer til at afhjælpe problemet kunne aktiveres via Excel. Jeg har selv været ved at lege med at ændre på stien i word via alt+f9 funktionen:
Jeg har prøvet at lege lidt med koden - men kan ikke rigtig få den til at virke. Jeg skal jo køre den fra Excel - og den del der omhandler opdateringer af kæder ser sådan ud:
Set Word = CreateObject("word.application") Set doc = Word.documents.Open(ThisWorkbook.Path & "\Leadership Equity Assessment.doc")
doc.Activate With doc.Activate For Each afield In doc.Fields kilde = afield.Parent kode = afield.Code
If InStr(kode, " LINK Excel.Sheet.8") = 1 Then LinkMod = Left(kode, 20) + kilde End If
If afield.LinkFormat.AutoUpdate = False _ Then afield.LinkFormat.Update afield.LinkFormat.BreakLink End If Next afield
Jeg ved ikke rigtig hvad det er jeg gør galt i denne sammenhæng - og ville virkelig sætte pris på at få lidt hjælp...
Dim wrd As Object, aField As Field Const kædeId = " LINK Excel.Sheet.8 " Const nySti = "D:\" 'ny sti Const kildeXls = "Master.xls" 'fil, der linkes til Sub testKæder() On Error GoTo afslut Set wrd = CreateObject("word.application") With wrd .Documents.Open Filename:=(ThisWorkbook.Path & "\Leadership Equity Assessment.doc")
For x = 1 To .ActiveDocument.Fields.Count kode = .ActiveDocument.Fields(x).Code
If InStr(kode, kædeId) = 1 Then .ActiveDocument.Fields(x).LinkFormat.SourceFullName = nySti + kildeXls End If Next x End With
afslut: wrd.ActiveDocument.Save wrd.Application.Quit Set wrd = Nothing End Sub
Nu sidder jeg lig ved en computer hvor filen ikke ligger på... Så det må vente.
Det jeg skal er, at jeg fra en Excelfil skal autogenerere nogle rapporter i word - og måske senere power point.
Måden hvorpå jeg ønsker at gøre det er via nogle kæder mellem word og Excel, hvor der er en "skabelon", hvor kæder opdateres, fjernes og derefter gemmes i et nyt navn. Det virker også ganske fint, det eneste problem er dog, at jeg filen skal kunne køre uafhængigt af hvor de ligger. Derfor vil jeg gerne, at jeg ligesom med kæder bestående af tekst kunne ændre den sti diagrammerne benytter.
Det handler altså om, at jeg har diagram mv. som er kæder - og derved ønsker at tilpasse stien den henviser til afhængigt af filernes placering.
Håber du igen kan hjælpe mig... På forhånd tak.
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.