[VBA, Word & Excel] Activeren formule

Status
Niet open voor verdere reacties.

Jarcol

Gebruiker
Lid geworden
23 aug 2007
Berichten
18
Hallo allemaal,

Het is mijn bedoeling om via een VBA script in Word 2003 een formule in een cel van Excel 2003 te plaatsen. Klinkt vrij simpel, maar nu komt de moeilijkheid.

Ik heb een script gevonden (klassenmodule: xlsconnection) waarmee ik gegevens in een excel-sheet kan plaatsen zonder dat het excel-bestand geopend hoeft te worden als normaal gesproken:
Code:
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

conn.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq="C:\pad\excel.xls;ReadOnly=0;"

via de xlsconnection kan ik als volgt gegevens weg schrijven in het excel bestand:

Code:
    Dim Db As New XLSConnection
    Dim rs As Object
    Dim QueryStr As String
    Db.XlsOpen ("C:\pad\excel.xls")
    
    QueryStr = "SELECT * FROM [Sheet$]"
    
    Set rs = Db.Query(QueryStr)

    ' Bekijk output in het venster direct (Ctrl+G of Menu: Beeld --> Venster Direct)
    Debug.Print "Initiele situatie:"
    Do While Not rs.EOF
        Debug.Print rs("waarde").Value rs.MoveNext
      rs.MoveNext
    Loop
            
    QueyStr2 = "SELECT * FROM [Sheet$]
    Set rs2 = Db.Query(QueyStr2)
    
    'bestandsnaam = ActiveDocument.Path & "\" & bnaam & "`" & Format(TopVolgNo, "000") & ".doc"
    rs.AddNew
    rs!Waarde = "waarde"
    rs.Update
     
    Debug.Print "Situatie na INSERT:"
    
    QueryStr = "SELECT * FROM [Sheet$]"
    
    Set rs = Db.Query(QueryStr)
    
    Do While Not rs.EOF
        Debug.Print rs("waarde").Value rs.MoveNext
    Loop

Nu mijn vraag: hoe krijg ik het voor elkaar dat de waarde die achter 'rs!Waarde' komt te staan een waarde is dat de cel in excel als formule wordt ingevuld?

Ik heb al gevonden dat dat kan met FormulaR1C1 of FormulaArray, maar met deze opties moet ik ook een Range aangeven, en dat kan ik op de manier met xlsconnection niet (of ik zie iig niet hoe)!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan