Velden uit excel file importeren in word 2010 d.m.v. ADODB

Status
Niet open voor verdere reacties.

Patrick023

Nieuwe gebruiker
Lid geworden
22 apr 2015
Berichten
3
Hallo VBA'ers,
Ik ben nieuw hier op het Forum, behoorlijk ervaren in Office en daarbij nu VBA aan het ontdekken om bepaalde handelingen makkelijker te maken.
Nu loop ik tegen een beperking van mijn kennis aan, waar ik ook met Googlen niet uitkom. Ik hoop dat jullie mij op weg kunnen helpen.

Ik heb een word-document (Master), waarin ik een aantal excel velden wil importeren. In de code verwijs ik nu naar een vast excel document, later zal ik dit omzetten naar een selectievak. In het word document heb ik een aantal bookmarks aangemaakt, waar de inhoud van de excel cellen moet komen. In VBA benader ik de file als een database, waarna ik met een SQL statement de juiste cel selecteer. Vervolgens moet de inhoud van deze cel in het word document in de juiste bookmark geimporteerd worden. Bookmark in het word document heet wd_aantal_KB, de cel in excel heet xl_aantal_kb.

De code om de waarde van aantal_KB uit excel te halen klopt denk ik niet en de code om de recordset naar het bookmark te schrijven werkt ook niet. Wie kan mij op weg helpen? Alvast hartelijk dank!

Groet,

Patrick

Code:
Sub Test()

Dim aantal_KB As String
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim DBPath As String, sconnect As String

DBPath = "D:\data\testmap\calculatie_test.xlsx"

sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes';"

'Open de connectie met de datasource
Conn.Open sconnect

aantal_KB = "SELECT [xl_aantal_kb] FROM [blad1$]"
rs.Open aantal_KB, Conn

'Schrijf rs naar bookmark
Selection.GoTo wdGoToBookmark, , , "wd_aantal_KB"
Selection.TypeText rs("aantal_KB")
Selection.Delete

rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing



End Sub
 
Je haalt inderdaad gegevens uit een kolom met als header xl_aantal_kb, die moet je dan ook uit je recordset lezen met rs("xl_aantal_kb").
Dus waar je nu rs("aantal_KB") hebt staan.
 
Hallo edmoor,
Bedankt voor je snelle reactie. In de tweede poging werkte de code wel. Ik was de aanhalingstekens vergeten, zodoende werkte de code niet.
Uiteindelijk heb ik het aangepast in rs("xl_aantal_kb")
Nogmaals dank!

Fijne avond,
Patrick
 
Laatst bewerkt:
Daar valt weinig van te zeggen zo. Plaats je excel document eens.
edmoor, ik heb het werkend nu. In eerste instantie werkte het niet, het bleek echter dat ik geen aanhalingstekens had gebruikt.
Thanks!

Patrick
 
Waarom gebruik je geen mergedocument met mergefields ??
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan