Avatar billede Jan Hansen Ekspert
21. september 2017 - 08:34 Der er 6 kommentarer og
2 løsninger

Hent Text fra Ark til Shape i Publisher

Hejsa

Vil gerne lave en macro der henter Text Fra Ark1 A3:F10 og sætter den ind i en textboks i Publisher.,

Har lavet en makro der laver textbox'en (makroen kører i Publisher dokumentet)

I makroen vil jeg gerne hente teksten ind for at fylde den ind i textboxen

Nogen der kan hjælpe

Er nået til:

Option Explicit

Dim MyExcel As Excel.Application
Dim wb As Workbook

Sub test()
    Set MyExcel = New Excel.Application
End Sub


Jan
Avatar billede Dan Elgaard Ekspert
21. september 2017 - 09:30 #1
Regnearket skal være åben samtidigt, og makroen har ligeledes behov for at kende navnet på regnearksfilen (Workbook).

Men, det må være noget i denne stil:

Dim MyText as String
MyText = MyExcel.Workbooks("Regnearksfil").Sheets("Ark1").Range("A3").Value

Ønsker du flere celler i samme variabel (MyText) kan du evt. efterfølgende lave:

MyText = MyText & MyExcel.Workbooks("Regnearksfil").Sheets("Ark1").Range("B3").Value

Prøv dig lidt frem :-)

Når du har indsamlet den ønskede tekst fra Excel i din variabel, kan du efterfølgende indsætte den i Publisher, som du normalt ville gøre (jeg kender ikke Publisher VBA, så det antager jeg du selv kan :-)
Avatar billede Dan Elgaard Ekspert
21. september 2017 - 09:37 #2
Oh, et par (VIGTIGE) småting:

1) Du behøver ikke definere en Workbook variabel
2) Husk, at sætte VB Reference i 'Publisher' til 'Microsoft Excel Object Library'
3) HUSK !!! At lukke dit Excel objekt igen efterfølgende, da du ellers åbner flere og flere Excel applikationer, hver gang du kører din makro !!!

Især punkt 3 er MEGET vigtigt !!!

Du starter altså din makro med

On Error Resume Next
Dim MyExcel As New Excel.Application

...og, slutter din makro med:
MyExcel.Quit
Set NyExcel = Nothing
Avatar billede Dan Elgaard Ekspert
21. september 2017 - 09:40 #3
Du sætter VB Reference i 'Publisher' til 'Microsoft Excel Object Library' på følgende måde:

1) I Publisher åbner du Visual Basic Editor
2) Vælg menuen, Tools -> References...
3) Scroll ned til du finder 'Microsoft Excel Object Library'
4) Sæt 'flueben' ud for biblioteket, og luk VB Reference dialogen igen.

That's it :-)
Avatar billede Jan Hansen Ekspert
21. september 2017 - 10:13 #4
Done #3
Kender du en vba metode til at åbne et projekt og lukke det igen, vil helst kunne køre makroen i Publisher fra excel har jeg engang lavet noget tilsvarende.
Avatar billede Dan Elgaard Ekspert
21. september 2017 - 10:24 #5
"Åbne et project"???
Mener du åbne en Excel regnearksfil?

MyExcel.Workbooks.Open "C:\Regnearksfil.XLSx"
Avatar billede Jan Hansen Ekspert
21. september 2017 - 10:31 #6
Fedt det var lige det der skulle til !!

Takker

Jan
Avatar billede Dan Elgaard Ekspert
21. september 2017 - 11:15 #7
Velbekomme :-)
Avatar billede Jan Hansen Ekspert
21. september 2017 - 13:54 #8
Har et lille problem
følgende kode virker men:

Option Explicit

Dim MyExcel As Excel.Application

Sub test()
    On Error Resume Next
    Set MyExcel = New Excel.Application
    MyExcel.Visible = True
    MyExcel.Workbooks.Open ("https://d.docs.live.net/b90ab0a3cc826a69/Spejder%202017/Kalender%20E%202017.xlsm")
   
    MyExcel.Quit
    Set MyExcel = Nothing
End Sub

lukker ikke bagrunds-kørende excel indeholdende ingenting

mon man kan gre andet end lukke den via jobliste?

Jan
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

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