beste Knoet,
Het programma heeft die lijn vroeger al eens uitgevoerd, maar met objWorksheet als object<; wat me nu verontrust is dat het statement copyfromrecordset in kleine lettertjes blijft staan i.p.v. CopyFromRecordset.
Deze morgen bij het opstarten van mijn PC startte ook Excel (zonder vragen) op en ik kreeg een kleine 100 lege werkbladen, allemaal leeg en hier en daar een met resultaten van gisteren? ALLEMAAL ALLEEN LEZEN EN BEVEILIGD; waar heb ik dat aan te danken? de stekker uittrekken was het enigste dat hielp.
de volgende regels heb ik nu in het programma
Function AccessToExcel()
Dim cnn As New ADODB.Connection
Dim rst As ADODB.Recordset
Dim objExcel As Object 'Excel.Application
Dim objWorkBook As Object 'Excel.Workbook
Dim objWorkSheet As Object
Dim objQuery As Object
Dim varCriterium As String
ActueelPad = Application.CurrentProject.Path & "\"
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
Set objExcel = CreateObject("Excel.Application")
Set objWorkBook = objExcel.workbooks.Add
varNaamToExcel = ActueelPad & "\" & "adressenboekje.mdb"
cnn.CursorLocation = adUseClient
If stVoorw = "O" Then
stVoorw = ""
stDocName = "qryAdres"
rst.Open stDocName, cnn, adOpenStatic, adLockOptimistic, -1
Else
strDocName = "qryCalculatie" & strVoorw
rst.Open stDocName, cnn, adOpenStatic, adLockOptimistic, -1
End If
Set rst = cnn.Execute(strDocName, Naam, adres, PostNr, Gemeente, Telefoon)
Set objExcel = CreateObject("Excel.Application")
Set objWorkBook = objExcel.workbooks.Add
'Add data to cells of the first worksheet in the new workbook
objWorkBook.WorkSheets(1).range("A1").copyfromrecordset rst
'objExcel.range("A1").copyfromrecordset rst
objExcel.range("A1").copyfromrecordset rst
objWorkSheet.Visible = True
objWorkSheet.Activate
If MsgBox("Dit werkblad als een file opslaan?" _
& Chr(13) & Chr(10) & "druk dan 'Ja'" _
& Chr(13) & Chr(10) & "of druk 'Nee' om verder te gaan.", _
vbYesNo) = vbYes Then ' Definieert bericht.
' Response = MsgBox(Msg, Style, Title)
objWorkBook.saveas ActueelPad & "ExcelOptie" & stVoorw & ".xlsx"
Else
objExcel.Quit
End If
Close
Set rst = Nothing
cnn.Close
End Function