[VBA/Word] VBA van gelinkt document uitvoeren

Pagina: 1
Acties:

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 21:15
Situatie: Document A dat doormiddel van VBA gevuld wordt vanuit een database. Ik gebruik hiervoor bookmarks die ik vervang door de data uit de db. Script staat onder Document_open()

Document B bevat Document A doormiddel van object linking. Het probleem is nu dat zodra je document B opent en toestemt dat Document A wordt bijgewerkt dat het script niet draait. Dat is wel de bedoeling.
Ik dacht dat het zo zou werken omdat je toch Document A opent.

Wie kan mij helpen? Ik heb Google al afgezocht, maar niets bruikbaars kunnen vinden. (had ook een beetje moeite om 't probleem te omschrijven)

Het systeem is een database met Chemische gegevens die in een bepaalde opmaak moeten worden gezet in een word document. Het word document leest een stof naam in en haalt aan de hand daarvan alle gegevens uit de database. Het gaat hier over ongeveer 500 stoffen en dus documenten.

  • kippy
  • Registratie: September 2004
  • Laatst online: 00:11
Document A wordt dus met behult van een scripje gevuld met gegevens uit een database.

Je begind dus met het oppenen van ducument B, die via..... iets document A opend die hierna dat scriptje moet draaien. Dan wordt documtne A dus gevult met gegevens van 1 stof en wordt opgeslagen.


Je kan van uit een macro van uit document B document A laten openen, maar ik snap niet waarom je hierna het scriptje van uit document A wil laten runnen.

Ik denk dat je makkelijker een Documtent A kan maken die een nieuw document aanmaakt, deze vult met gegevens uit de data base en daarna opslaat. Alle scripts en dingen komen in document A te slaan, het nieuwe document zal geen scripts bevatten. denk er wel aan dat als je dit doet het het nieuwe document altijd op de voorgrond zal moeten staan.

Stage opdracht trouwens?

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 21:15
Ik zit idd op m'n stage, maar het is geen opdracht, maar eigen initiatief (punten scoren!)

Het idee van het systeem is dat Worddocument A een tabel is met gegevens die door VBA worden gevult. Per stof een document en het beheer van de data zal gebeuren via de database.

Maar die tabel met gegevens zal worden gebruikt in meerdere documenten (procedures) dus het makkelijkste is dat het document met de stofgegevens maar 1 keer wordt gemaakt.

Ik wil geen apart document openen, maar via object linking document A invoegen in document B. met script!

  • kippy
  • Registratie: September 2004
  • Laatst online: 00:11
Dus document B draait en openend document A en copieed en plakt in document B.

Dat maakt ik der uit op, das een eitje =P

ik gebruik zeff op stage =P voor een VBA prog het volgende
code:
1
2
3
4
5
6
7
8
9
10
11
            Documents.Open FileName:=ThisDocument.Path & "\Conduncted values.dot" 'Then Open Radiated page's at default folder
                Selection.WholeStory                                    'select all
                Selection.Copy                                          'Copy selection
                ActiveWindow.Close                                      'Close window
                ActiveDocument.Bookmarks("NewPage").Select              'Paste selection on bookmark NwePage
                
                Selection.MoveUp Unit:=wdLine, Count:=3                 'Move 2 lines up
                
                Selection.Paste                                         'Paste selection
                    
                Selection.MoveUp Unit:=wdLine, Count:=4                 'Move 4 lines down

kan vast mooier maar werkt perfect.
Deze code wordt van af een form gestart maar kan natuurlijk ook een macro of iets dergelijks zijn.

[ Voor 5% gewijzigd door kippy op 05-04-2005 15:14 ]


  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 21:15
Nee helaas is dat niet wat ik bedoel.

Ik heb het niet over kopieren maar over object linking.
Hiermee voeg je een andere document A in een bestaand document B. Maar wel op zo een manier dat als document A wordt gewijzigd dat je dat ook ziet als je document B opent. Hierdoor zijn de gegevens altijd up to date en hoef je je geen zorgen te maken over oude data.

  • kippy
  • Registratie: September 2004
  • Laatst online: 00:11
je zou het via "LinkedToContent" kunnen doen. das het enige wat ik ken en kan vinden om dat te berijken. maar ik snap niet dat je niet gewoon update van uit de database. Of maak je een "Lelijke database" met word document.
Pagina: 1