Variabele doorgeven van Excel >> Word

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
891
Goedemorgen allen,

Zit met een vraagje:

Probeer vanuit excel een (basis) word document te openen, dat lukt
Vervolgens om er een variabele in te zetten en hier vergeet ik iets denk ik maar kom er niet op.
Waarom wordt de variabel die doorgegeven wordt niet neergezet op het Word (basis) document?

Code:
  Dim Word As Object, sPath As String, sWrdName As String, WrdBestand As String
      
  sPath = ActiveWorkbook.Worksheets("Control").Range("L22")
  sWrdName = "HelpFile" & ".doc"  ' Basis help-file
  WrdBestand = sPath & sWrdName
        
  Set Word = CreateObject("word.basic")       ' Set Word
  Word.fileopen WrdBestand                         ' opent een Word Basis-document met het Path & Naam file & extensie
  Word.appshow                                          ' toont het document
  With GetObject(WrdBestand)                     ' Maakt de variabele leeg
    .variables("Omschr1") = " "
    .variables("Omschr2") = " "
    .variables("Omschr3") = " "
    .variables("Omschr4") = " "
    .variables("Omschr5") = " "
    .Fields.Update                                        ' fields update omdat SP & JP prijs er niet altijd door kwamen
  End With
 
 
  With GetObject(WrdBestand)                    ' Update variabelen van Excel --> Word doc.
    .variables("Omschr1") = "test"   
    .variables("Omschr2") = Label2    
    .variables("Omschr2") = Label3
    .variables("Omschr2") = Label4
    .variables("Omschr2") = Label5
    .Fields.Update                                                    ' fields update omdat SP & JP prijs er niet altijd door kwamen

Iemand een idee?

Vr . Gr.
Dutch
 
Gebruik geen overbodige code.
Test eerst met 'harde' gegevens als bestandsnaam.
Het is ook handig als het bestand {DOCVARIABLE "Omschr1"} velden bevat.

Code:
Sub M_snb()
  With GetObject(G:\OF\voorbeeld.docx")
    .variables("Omschr1") = "voorbeeld1"
    .variables("Omschr2") = "voorbeeld2"
    .variables("Omschr3") = "voorbeeld3"
    .variables("Omschr4") = "voorbeeld4"
    .variables("Omschr5") = "voorbeeld5"
    .Fields.Update
    .windows(1).visible=true
  End With
end sub
 
Laatst bewerkt:
goedemiddag snb,

Path met bestandsnaam kloppen,
uiteindelijk opent hij wel het file..

Heb in het file 5 TextBoxen
In ieder TextBox heb ik een veld aangebracht met als DocVariabele: Omschr1 / Omschr2 Omschr3 / Omschr4 / Omschr5
Moet er soms nog een naam van die TextBox bij?
Dus
Code:
  With GetObject(WrdBestand)                    ' Update variabelen van Excel --> Word doc.
    TextBox.variables("Omschr1") = "test"   
of
    .variables.TextBox.("Omschr2") = Label2
 
    .Fields.Update

Nee dus... kwartje valt :-)

Men kan alleen deze variabele kwijt in een tabel..

Ja klopt, dat was ik vergeten..

Thanks voor de moeite snb..
 
Laatst bewerkt:
Je kunt wél een documentvariabele in een tekstvak zetten.
Maar dan moet je het veld wel goed aktualiseren

Code:
Sub M_snb()   
  With GetObject(G:\OF\voorbeeld.docx")
    .variables("Omschr1") = "voorbeeld1"
    .variables("Omschr2") = "voorbeeld2"
    .variables("Omschr3") = "voorbeeld3"
    .variables("Omschr4") = "voorbeeld4"
    .variables("Omschr5") = "voorbeeld5"
    .StoryRanges(5).Fields.Update
    .windows(1).visible=true
  End With
end sub
 
Hier hebben we al eerder een verschil om gehad.

Werkt echt niet.
Heb dus in het Word document 5 TextBoxen
In iedere TextBox zit een DocVariabele. Omschr1 t/m Omschr5.
En daar wil hij met bovenstaande geen variabele aan doorgeven.
 
Laatst bewerkt door een moderator:
Begin eens met een voorbeeldje mee te posten, en weet je nu nóg niet dat nodeloos quoten niet op prijs wordt gesteld?
 
Dit werkt gegarandeerd:

Code:
Sub M_snb()
  With GetObject("G:\OF\__eigenwijs.docx")
    .variables("Omschr1") = "voorbeeld1"
    .variables("Omschr2") = "voorbeeld2"
    .variables("Omschr3") = "voorbeeld3"
    .variables("Omschr4") = "voorbeeld4"
    .variables("Omschr5") = "voorbeeld5"
    For Each it In ThisDocument.Shapes
      it.TextFrame.TextRange.Fields.Update
    Next
    .Windows(1).Visible = True
  End With
End Sub
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan