[VB6] doorgeven van variabelen naar word

Pagina: 1
Acties:

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Beste,

Ik hoop dat de title duidelijk is, ik bedoel namelijk geen bookmarks of docvars want dat lukt allemaal wel maar ik bedoel de variabelen in een module die in de .dot zit..snappie uhm nog?

Even kleine uitleg

vanuit een klein VB 6 programmatje open ik word m.b.v dit stukkie code
code:
1
2
3
4
5
6
7
8
9
10
11
12
       'Open word
        Dim oWord As New Word.Application
        Dim oDoc As Word.Document
        
        oWord.Visible = True
        
        Set oDoc = oWord.Documents.Add(LocalPath & "\" & FileName)
        
        'Loop columns
        For i = 0 To ColumnList.Length - 1
            oDoc.Bookmarks.Item(ColumnList(i).Text).Range.Text = "kaas" & i
        Next i


Bovenstaande code is even knip & plaksel maar je begrijpt me.
De bookmarkjes worden mooi gevuld..no problemo

nu heb ik dus zoals ik al zei, in de .dot file een module zitten met een knop
met daarin een variabele.? die zou ik graag willen vullen vanuit mijn vb progje en met de knop weer returnen ofzo..althans er moet ook iets terug.

Afbeeldingslocatie: http://vorlox.xs4all.nl/webstuff/wordvb.gif

nu heb ik daar natuurlijk op gezocht maar ik krijg alleen voorbeelden naar docvars en bookmarks.
Dat kan natuurlijk wel maar vind ik niet zo netjes..

iemand hier ervaring mee..enig idee waar ik naar moet zoeken?
thanks

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Kan je niet gewoon wat snel in de registry wegschrijven? Of werken met input parameters naar Word toe en deze vanuit de application uitlezen?

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
hmm daar zeg je zowaar wat. De registry vindt ik misschien wat zwaar, maar input parameters vind ik een goed idee.
ga ik even proberen

[Update]
Hmm nee, helaas. word lijkt geen input params te kunnen hebben..of ik weet niet hoe deze te gebruiken.
[/update]

In de dot heb ik het volgende staan in de ThisDocument.open

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   ' Display the command line arguments.
    Dim cmds As String
    Dim txt As String
    Dim pos As Integer
    
    cmds = Command$
    Do While Len(cmds) > 0
        pos = InStr(cmds, " ")
        If pos = 0 Then
            txt = txt & cmds
            cmds = ""
        Else
            txt = txt & Left$(cmds, pos - 1) & vbCrLf
            cmds = Mid$(cmds, pos + 1)
           
        End If
     MsgBox (txt)
    Loop


lijkt niet te werken..zucht

[ Voor 81% gewijzigd door vorlox op 04-01-2005 00:07 ]


Verwijderd

Ik ben daar jaren geleden ook mee aan het klooien geweest (Office 97, toen Word nog WordBasic had en geen VBA), en heb 't toen uit arren moede maar omgekeerd:
Applicatie zet eerst een CSV-bestandje neer met de door te geven waarden, en vervolgens worden die door de dot-file ingelezen en verwerkt in het document.

Verdient geen schoonheidsprijs, maar het werkt al bijna 7 jaar. :)

Verwijderd

Je kunt Application.Run gebruiken om variabelen in een macro in je document te krijgen.

Iets als:

Visual Basic:
1
2
3
Public Sub Foo(sBar)
    MsgBox "Hello " & sBar
End Sub


En dan in je aanroep

Visual Basic:
1
oWord.Run "Foo", "World"



En ik zie dat het haakjes/geen haakjes ge@#$%^&* van Visual Basic jou nog wel gaat bijten. Dus alvast veel succes daarmee :).

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Sorry was wat laat met reply.
..Nou prima...ga ik morgen even uitproberen ..'kz voor de volledigheid even laten weten of het gelukt is.
Alvast reuze bedankt

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
ode aan OneOfBorg _/-\o_

Het heeft even geduurd maar het werkt......eindelijk bedankt voor de tip.
Pagina: 1