Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:14 Der er 19 kommentarer og
1 løsning

Hente værdi fra VBA til bogmærke

Hej roder lidt med at lave fortløbende nr. i word med dette vba som jeg har fundet herinde:
Dim xlApp As Object
'Åbn Excel og hent nummer
    Set xlApp = CreateObject("Excel.application")
    xlApp.Workbooks.Open FileName:="C:\nummer.xls"
    nummer = xlApp.sheets(1).Range("a1").Value
'Opdater nummeret, så det er klar til næste dokument
    xlApp.sheets(1).Range("a1").Value = xlApp.sheets(1).Range("a1").Value + 1
'Luk regnearket igen og gem det nye nummer
    xlApp.activeworkbook.Save
    xlApp.activeworkbook.Close
    Set xlApp = Nothing
   
'Indsæt nummer i Word dokumentet
    ActiveDocument.Bookmarks("nummer").Select
    Selection.Range = nummer

For at hente det ind i word skabelonen skal jeg indsætte et bogmærke. Jeg gør det forkert på en eller anden måden for jeg får følgende fejl: Fejl! Bogmærke er ikke defineret.

Hvordan skal jeg oprette det bogmærke så den kan hente værdien ind?
Avatar billede rvm Nybegynder
17. februar 2005 - 10:16 #1
Vælg Indsæt/Bogmærke
Skriv bogmærkets navn - her  "nummer"
Vælg tilføj
Avatar billede rvm Nybegynder
17. februar 2005 - 10:16 #2
Det skal selvfølgelig være i Word :-)
Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:22 #3
Det har jeg prøvet men så er siden blank. Der står ikke noget nummer!
Avatar billede rvm Nybegynder
17. februar 2005 - 10:25 #4
Er du sikker på der er noget i din variabel (nummer)
Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:27 #5
Nej jeg er ikke 100% sikker. Jeg har oprettet ovenstående i VBA (Alt F11 ) og så oprettet et nyt modul med koden. Så har jeg lavet et excel dokument der hedder nummer og indtastet 1 i A1 og gemt dokumentet på c:\
Avatar billede rvm Nybegynder
17. februar 2005 - 10:31 #6
Når du står i din kode, så prøv at trykke F8 (så kører koden 1 linie ad gangen). Tryk F8 det antal gange du skal for at komme ned til linien (nummer = xlApp.sheets(1).Range("a1").Value). Tryk F8 1 gang til så linien ikke er gul mere. Hold nu musen hen over variablen nummer og se om der kommer et resultat i en lille hjælpetekstboks
Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:36 #7
Det kan jeg ikke få lov til!
Avatar billede rvm Nybegynder
17. februar 2005 - 10:39 #8
Prøv at sende det til mig, så kikker jeg lige på det "rvm (snabela)teknologisk(punktum)dk"
Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:41 #9
Er sendt :-)
Avatar billede rvm Nybegynder
17. februar 2005 - 10:47 #10
Du skal give dinmakro et navn og give variablen nummer en type:

Sub Nummer()


Dim xlApp As Object
Dim Nummer As String

'Åbn Excel og hent nummer
    Set xlApp = CreateObject("Excel.application")
    xlApp.Workbooks.Open FileName:="C:\nummer.xls"
    Nummer = xlApp.sheets(1).Range("a1").Value
'Opdater nummeret, så det er klar til næste dokument
    xlApp.sheets(1).Range("a1").Value = xlApp.sheets(1).Range("a1").Value + 1
'Luk regnearket igen og gem det nye nummer
    xlApp.activeworkbook.Save
    xlApp.activeworkbook.Close
    Set xlApp = Nothing
   
'Indsæt nummer i Word dokumentet
    ActiveDocument.Bookmarks("nummer").Select
    Selection.Range = Nummer
   
End Sub
Avatar billede rvm Nybegynder
17. februar 2005 - 10:47 #11
og så havde du ikke oprettet et bogmærke i dokumentet
Avatar billede t-hviid Nybegynder
17. februar 2005 - 10:59 #12
Tak for tilsendte. Jeg må gøre et eller andet forkert for jeg kan kun se "anmærkninger" der hvor bogmærket er oprettet men ikke værdien af vba'en. Når jeg prøver at tjekke vba'en som du før nævte får jeg fejlen: The macros in this project are disabled.
Avatar billede rvm Nybegynder
17. februar 2005 - 11:01 #13
Du skal sætte sikkerheden i Word ned til den laveste: Funktioner/Makro/Sikkerhed
Avatar billede rvm Nybegynder
17. februar 2005 - 11:01 #14
det træder først i kraft, når du har lukket og åbnet word igen
Avatar billede t-hviid Nybegynder
17. februar 2005 - 11:26 #15
Det hjælper ikke :-( Når jeg debugger det du har sendt kommer det ind i dokumentet. Men når jeg laver nyt dokument fra skabelonen sker der ingenting.
Avatar billede rvm Nybegynder
17. februar 2005 - 11:28 #16
Det er fordi du skal kalde din makro for "AutoNew" - så kører den når der oprettes et nyt dokument på baggrund af skabelonen
Avatar billede t-hviid Nybegynder
17. februar 2005 - 11:39 #17
Så henter den ind :-) Sidste lille ting. Der bliver ikke lagt 1 til i excel dokumentet. Der kommer også en meddelse boks om excel dokumentet skal overskrives. Kan jeg undgå den på nogen måde?
Avatar billede rvm Nybegynder
17. februar 2005 - 11:46 #18
Skriv Application.DisplayAlerts = False først i koden så kommer den meddelelse ikke mere. Men husk at sætte Application.DisplayAlerts = True når du slutter ellers vil du mangle andre dialogbokse.
Avatar billede t-hviid Nybegynder
17. februar 2005 - 12:56 #19
Excel dokumentet var blevet skrivebeskyttet. Nu virker det perfekt. Mange tak for hjælpen :-)
Avatar billede rvm Nybegynder
17. februar 2005 - 12:59 #20
Selvtak :-)
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