[Word2003 - VBA]Word naar Excel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 00:14

Punkrocker

Mostly harmless

Topicstarter
Ik heb een .doc met een UserForm.
In dat UserForm kan ik diverse TextBox-en vullen en na een druk op de knop worden er een aantal andere .docs samengevoegd tot één document en de inhoud van de TextBox-en worden a.d.h.v. Bookmarks in het document geplaatst.

Nu wil ik ook de inhoud van een aantal van die TextBoxen ook overhalen naar een Excel-bestand.

Hoe pak ik dat aan?

(Google geeft geen uitkomst. Ik kom alleen Userforms in Excel óf in Word tegen en een enkele keer Excel in Word opnemen zoals adresbestanden op brieven zetten.)

"What do you get if you multiply six by nine..."


Acties:
  • 0 Henk 'm!

Verwijderd

meerdere mogelijkheden :
code in de userform die de tb-gegevens in het actieve excelbestand plaatst
code in een spreadsheet die de gegevens uit het (samengevoegde) document haalt, voor zover de bookmarks nog bestaan na invullen via de wordmacro.

hieronder een ongetest voorbeeldje volgens mogelijkheid 1 van een sub die je onder de ok-knop hangt :
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
private sub cmdOK_Click()
dim Xl as object
dim Ss as object
dim Ctl as object

set xl=getobject(,"excel.application")
set ss=xl.workbooks(1).worksheets(1)
for each ctl in me.controls
 if typeof ctl is msforms.textbox then
   ss.range("a65536").end(-4162).offset(1).value=ctl.text
  endif
next
end sub

Acties:
  • 0 Henk 'm!

  • Punkrocker
  • Registratie: September 2006
  • Laatst online: 00:14

Punkrocker

Mostly harmless

Topicstarter
Verwijderd schreef op donderdag 31 maart 2011 @ 15:01:
meerdere mogelijkheden :
code in de userform die de tb-gegevens in het actieve excelbestand plaatst
code in een spreadsheet die de gegevens uit het (samengevoegde) document haalt, voor zover de bookmarks nog bestaan na invullen via de wordmacro.

hieronder een ongetest voorbeeldje volgens mogelijkheid 1 van een sub die je onder de ok-knop hangt :
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
private sub cmdOK_Click()
dim Xl as object
dim Ss as object
dim Ctl as object

set xl=getobject(,"excel.application")
set ss=xl.workbooks(1).worksheets(1)
for each ctl in me.controls
 if typeof ctl is msforms.textbox then
   ss.range("a65536").end(-4162).offset(1).value=ctl.text
  endif
next
end sub
Bedankt.
Ik ga er eens mee aan de slag.

"What do you get if you multiply six by nine..."