17. februar 2005 - 10:14Der 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?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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:\
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
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
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.
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?
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.
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.