Avatar billede steensommer Praktikant
27. marts 2003 - 23:44 Der er 15 kommentarer og
1 løsning

BookMarks

Jeg sidder pt og døjer med Bookmarks (reference fra Excel). Et af mine
Bookmark hedder Navn og anvendes 2 gange i worddokumentet men jeg kan kun
anvende nævnte bookmark et sted. Er der en anden måde hvorpå man kan
indsætte Navn automatisk evt. med reference til nævnte Bookmark? Jeg har
forsøgt med {Ref Navn} - uden resultet.

vh Steen
Avatar billede mugs Novice
28. marts 2003 - 06:27 #1
Jeg ved reelt ikke hvordan man overfører fra Excel til Word. Men forholdet er det samme, når du overfører data fra Access til Word ved en VBA-procedüre. Jeg har flere situationer måttet oprette et Bookmark 2 gange i Word.

Skal jeg overføre feltet Navn flere gange opretter jeg lige så mange Bookmarks som antal gange jeg skal bruge navnet, og kalder Bookmarks for Navn, Navn1, Navn2 o.s.v. således:

Call InsertAtBookmark(WordDoc, "Navn", Me!Navn)
Call InsertAtBookmark(WordDoc, "Navn1", Me!Navn)
Call InsertAtBookmark(WordDoc, "Navn2", Me!Navn)
Avatar billede rvm Nybegynder
28. marts 2003 - 07:44 #2
Du kan ikke have 2 bogmærker med samme navn!

Hvis du skal bruge indformationen 2 gange og ved hvor den skal stå, så kan du godt bruge {Ref bogmærkenavn}, men du skal huske at opdatere feltet bagefter eller sker der ingenting. Opdatering gør du med følegende kode:

Selection.WholeStory
Selection.Fields.Update

Mvh

Richardt
Avatar billede steensommer Praktikant
28. marts 2003 - 08:02 #3
I må lige forklare jer lidt bedre.
Mugs: Hvor skal pågældende VBA anbringe. Jeg kan se at dn kalder en procedure - hvorledes laves den - eller er der noget jeg har misforstået?
Richardt: Hvor skal den anbringes: Private Sub Document_New()?

vh Steen
Avatar billede rvm Nybegynder
28. marts 2003 - 09:18 #4
Det er dig der må forklare lidt mere. Hvodan får du informationerne fra Excel til Word?
Avatar billede steensommer Praktikant
28. marts 2003 - 09:32 #5
Jamen det har du da ret i. Informationerne anbringes fra celler i Excel over i Word vha VBA og Bookmarks (f.eks. Navn (som refererer til en celle "J8" i excel)).
Det fungerer fint men da jeg skal bruge F.eks. Navn 2 steder i worddokumentet har jeg det problem at bookmark kun kan anvendes et sted. Jeg har prøvet at anbringe det du skrev i wordskabelonen (Epikrise.dot)under: Private Sub Document_Open() men det giver ikke det ønskede resultat.
Jeg ved ikke om ovenstående er til at forstå?

vh Steen
Avatar billede rvm Nybegynder
28. marts 2003 - 09:44 #6
Jeg bliver nød til at blive ved med at svare, når du hele tiden afviser mine svar. Vent med at afvise til vi er færdig med kommunikationen *S*

Sætter du din indformation ind i bogmærket eller ved bogmærket?

For at ref skal virke skal indformationen sættes ind i bogmærket. Det kunne du gøre via denne funktion:

Sæt følgende ind i din VBA kode, der hvor du sætter informationen ind fra Excel:

SkrivTilBogmaerke "Bogmærkenavn", "Indhold"
Selection.WholeStory
Selection.Fields.Update

Ovenstående linie kalder nedenstående funktion, der indsætter "Indhold" i bogmærket, så du senere kan referere til bogmærkets indhold

Nedenstående funktion skal ligge i Word. F.eks. i et modul i Epikrise.dot

Public Sub SkrivTilBogmaerke(bmkName As String, bmkNyText As String)
    If ActiveDocument.Bookmarks.Exists(bmkName) = True Then
        ActiveDocument.Bookmarks(bmkName).Select
        If Not ActiveDocument.Bookmarks(bmkName).Range.Text = "" Then
            Selection.Range.Delete
        End If
       
        If Not bmkNyText = "" Then 'Indsætter tekst (og sletter bokmærke)
            '**** Sletter evt. overflødige linieskift.
            While Asc(Right(bmkNyText, 1)) = 13 Or Asc(Right(bmkNyText, 1)) = 10
                bmkNyText = Left(bmkNyText, Len(bmkNyText) - 1)
            Wend
            Selection.TypeText "." 'Bruges til at bevare bogmærket
            Selection.MoveLeft wdCharacter, 1, wdExtend
            Selection.Bookmarks.Add bmkName
            Selection.MoveLeft wdCharacter, 1
            Selection.TypeText bmkNyText
            Selection.Range.Delete
        Else
            Selection.Bookmarks.Add bmkName
        End If
    End If
End Sub
Avatar billede steensommer Praktikant
28. marts 2003 - 09:52 #7
Øh Jeg troede faktisk at man hver gang skal accepter eller afvise og kun acceptere hvis svaret har givet det ønskede resultat - men OK jeg er ny på Eksperten.
Tak for svaret - jeg prøver senere om jeg kan få det til at fungere.

Vh Steen
Avatar billede rvm Nybegynder
28. marts 2003 - 10:11 #8
Ups - Det var ikke meningen du skulle acceptere mit svar - bare lade det stå indtil du var blevet hjulpet færdig - det kunne jo være at der var andre som gav nogle guldkorn, så du ville dele point mellem flere.

Men nu skal jeg nok hjælpe dig færdig *S*

Du kunne eventuelt sende dit Excel regnark og dit word dokument til mig rvejemad@csc.com (hvis det bliver ved med at drille), så kunne jeg nærlæse din kode *S*
Avatar billede mugs Novice
28. marts 2003 - 13:01 #9
Det jeg påpegede imorges var blot, at du (som rvm siger), at du ikke kan bruge det samme bogmærkenavn mere end een gang. Eksemplet er hvordan jeg gør fra Access til Word. Jeg aner intet om, hvordan du gør i Excel.
Avatar billede steensommer Praktikant
28. marts 2003 - 15:08 #10
Tak til jer begge. Jeg skal lige prøve det rvm har skrevet.

vh Steen
Avatar billede jkrons Professor
28. marts 2003 - 15:58 #11
En anden og måske mere simpel løsning er, at du lavet to bogmærker i Word. Placer dem der hvor informationen skal stå, og send dem so over fra Excel to gange i koden.

Fx
Wdapp.ActiveDocument.Bookmarks("Navn1").Range.Text = Navn
Wdapp.ActiveDocument.Bookmarks("Navn2").Range.Text = Navn

Hvor Navn er din variabel i Excel og Navn1 og Navn2 er navnene på dine bogmærker i Word.
Avatar billede jkrons Professor
28. marts 2003 - 15:59 #12
Denne løsning kræver stadig to bogmærker, men kun en ekstra linie kode i forhold til det du har - og den afvikles fra Excel og ikke fra Word.
Avatar billede steensommer Praktikant
28. marts 2003 - 18:23 #13
Jamen ..... det fungerer bare perfekt . som sædvanligt. Tak igen.

Hilsen Steen
Avatar billede jkrons Professor
28. marts 2003 - 22:41 #14
Velbekomme!
Avatar billede rvm Nybegynder
29. marts 2003 - 01:08 #15
Nu ved jeg ikke hvilken en af løsningerne der var den "rigtige" (min eller jkrons), men det er godt du har fået løst problemet *S*
Avatar billede steensommer Praktikant
29. marts 2003 - 01:10 #16
Jeg nåede desværre ikke at afprøve din metode - den Jan serverede var let tilgængelig og lignede noget jeg i forvejen var igang med. MEN mange tak for din indsats.
vh Steen
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester