Word document variabele aanmaken

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
720
Goedemorgen,

Zit met een probleempje met gegevens overbrengen vanuit Excel naar Word.

Met VBA open ik in Excel(2003) een Word(2003) document.
Maak variabelen aan en deze zouden dan in het Word document op bepaalde plekken moeten komen.

Echter weet niet meer hoe ik in dit Word document dit aan moet maken.
Heeft iemand hier ervaring mee?

Al many thanks bij voorbaat.

Vr. Gr.

Dutch
 
Ik werk al een tijdje niet meer met 2k3 dus ik weet niet zeker of dit gaat werken, maar je zou eens kijken of het veld DocVariable bestaat. Dat vind je in de lijst met Velden die je kan invoegen. Als dat zo is, is de oplossing vrij simpel. Je maakt dan variabelen aan (kan in het document vanuit het menu Velden, maar ook met VBA) en die vul je vanuit het Excel bestand. In je document kun je ze dan oproepen met een gewoon veld.
Andere oplossing: zet op de plekken waar je de gegevens nodig hebt een bladwijzer met een logische naam, en vul die vanuit je routine. Dan staat de tekst dus op de gewenste plek.
 
Hoi OctaFish,

Tja één v/d nadelen als je ouder wordt dat je dingen vergeet :-(

Ben er vanmorgen achter gekomen en probleem net opgelost en het werkt nog steeds hoor onder Velden. Heb het volgende gedaan:

- onder Word (document) Het Tekstvak of Tabel activeren
- invoegen / veld selecteren
- onder Veldnamen, DocVariabele selecteren
- dan onder Veldeigenschappen de naam v/d variabele invoeren

Alleen kom nu het volgende probleem weer tegen, is het updaten v/d variabele als je het document opent.

Code:
. Fields.Update
Deze werkt dus niet, alleen als ik in het Word doc. het veld selecteer en bijwerken geef komt die variabele er wel.
Heb totaal staan:

Code:
    WrdBestand = sPath & sWrdName               ' path met filename

    Set Word = CreateObject("word.basic")       ' Set Word
    Word.fileopen WrdBestand                    ' opent Word document met Path & Naam file & extensie
    Word.appshow                                     ' toont het document

    MaakDatum = ActiveWorkbook.Worksheets("Control").Range("C18")
    MaakDatum = Format(MaakDatum, "dd-mm-yyyy")
    UpdateNr = Right(ActiveWorkbook.Worksheets("Control").Range("AM53"), 2)
    WeekNr = Right(ActiveWorkbook.Worksheets("Control").Range("AM53"), 2)
    With GetObject(WrdBestand)
      .variables("MaakDatum") = MaakDatum      ' zet Datum Excel --> Word doc.
      .variables("UpdateNr") = UpdateNr
      .variables("WeekNr") = WeekNr
      .Fields.Update
    End With

Onder Opties / Algemeen is Automatische koppelingen bijwerken bij openen aangevinkt..

Enig idee?

Bedankt voor de moeite.


Vr. Gr.
 
Laatst bewerkt:
Is slechter uitleggen ook een gevolg van ouder worden ?

Is niet plaatsen van een voorbeeldbestand (hoewel ik daar al om gevraagd had) ook een gevolg van ouder worden (of was je het al weer vergeten?).

Waarom maak je het jezelf en helpers onnodig moeilijk ?

Ik denk dat de meeste helpers ouder zijn dan jij.
 
tja snb de toon maakt de muziek, weet je nog.

maar dat ben je zeker al vergeten..
 
Ok probleem opgelost.

Voor de liefhebber:

Als je een variabele wilt overbrengen van Excel naar Word, dan een TABEL gebruiken in het Word document en vervolgens bovenstaande opvolgen.
 
Als je een variabele wilt overbrengen van Excel naar Word, dan een TABEL gebruiken in het Word document en vervolgens bovenstaande opvolgen.
Dat lijkt mij volledige onzin; tabellen hebben NIETS met velden te maken, al kun je uiteraard best velden in een tabel zetten. Had je, zoals al een paar keer gevraagd, een documentje meegeleverd dan hadden we je dat ook ongetwijfeld laten zien.
 
Hoi OctaFish

Toch niet, ben er 2 dagen mee aan het stoeien geweest en heeft er wel degelijk mee te maken..
Werkt in Excel(2003) wel degelijk alleen in Tabellen.

Weet ook wel dat een vb-tje makkelijker voor jullie is, maar is niet altijd even makkelijk daar het uit een groot program komt..
En als je terug zou kijken zou je zien dat ik dat meestal er wel bij doet.
Maar zoals ik al zei c'est le ton qui fait la musique . :-(

Fijn weekend nog en bedankt voor jullie hulp.
 
Ik heb ook met 2k3 gewerkt, en veel met tabellen en velden. En ik onderschrijf je conclusie dus niet. Dat het wel mág en werkt op de door jou beschreven methode staat ook niet ter discussie. Maar je zou niet de eerste zijn (en zeker niet de laatste) die op basis van ontbrekende kennis bepaalde werkwijzen en oplossingen vindt en hanteert die niet optimaal zijn. En dan is een forum wel zo handig, want daar kom je mensen tegen die wél die kennis hebben, en je dus alsnog op de juiste weg kunnen zetten. In verschillende toonaarden, dat dan weer wel :)
 
OctaFish met bovenstaande eens en waardeer het ook zeer als men mij helpt,

maar met een meer gematigde toon zou ik toch wel waarderen..:)

Heb alles geprobeerd en uiteindelijk werkte het dus niet bij mij maar wel in een tabel, vandaar mijn conclusie.

Fijne dag nog.

Vr. Gr.

Dutch
 
Laatst bewerkt:
maar met een meer gematigde toon zou ik toch wel waarderen..:)
Ik neem aan dat je op mijn opmerking ‘volledige onzin’ betrekt. Dat is wellicht een beetje straf gezegd, maar zalvender kan (en wil) ik het niet maken, omdat je zelf ook nogal stellig schreef: “Als je een variabele wilt overbrengen van Excel naar Word, dan een TABEL gebruiken in het Word document”. Dat is in geen enkele Word versie nodig geweest, en zal ook nooit nodig zijn. Kortom: ik zou dat nooit zo aanbevelen bij iemand.
 
Nee gaat niet om jouw opmerking, maar die van snb.

Laten we er maar over ophouden..

Fijne dag weer morgen
 
octafish.... ik zit met dezelfde vraag. hoe kan ik een variabele in word gaan opvullen met de inhoud van een cel in excel? de inhoud van de cel in excel moet niet in het document komt maar gaat wel bepalen welke tekst er in een bepaald gedeelte in het document komt te staan..... deze tekst codeer ik in de via in word. afhankelijk van de inhoud van de variabele.....
 
Dat is niet dezelfde vraag, maar een andere. Ik zou zeggen: maak een eigen vraag aan en doe er wat voorbeeldbestanden bij zodat we zien wat de bedoeling is.
 
Hoi OctaFish,

zou ik je nog aanvullend op m'n vraag nog wat mogen vragen?

Vr. Gr.

Dutch
 
ahh tu parles français :)

Toevallig met hetzelfde "probleem" al enige dagen bezig.

Lukt om een variabele van Excel naar Word te krijgen in een cel van een Tabel.
Nogmaals van alles geprobeerd om bv. in een TextBox. Maar dat gaat dus niet zelfs een Tabel in een TextBox niet.

Enfin dacht dan zet ik de variabele dus maar in een Tabel.
Dat lukt dus, maar loop tegen het volgende op:

Moet dus een DeelNameNummer (DNN) met 3 getallen overbrengen.
Totaal zijn het (nu) max 55 DNN's.
Dacht slim te zijn en dit met een array te bewerkstelligen, maar krijg de variabele niet tevoorschijn.
Heb het DNN gedimensioneerd als Dim UpDNN(55) as Variant.
In Word heb ik de cellen v/d Tabel van bv. de UpDNN's als naam UpDNN(1), UpDNN(2), UpDNN(3) enz enz gegeven.

Dacht met een for next lus dan de namen te kunnen doorgeven zoals bv.
Code:
With GetObject(WrdBestand)

For i = 1 to 55
  .variables("UpDNN(i)") = Naam(i)
next i
  .Fields.Update
end with

Maar helaas dat werkt dus niet.
Als ik zeg UpDNN(1) = Naam(i) werkt het wel.
Zijn er zover u weet nog andere mogelijkheden hiervoor?

Vr. Gr.

Dutch
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan