Boutellis
Messages postés29Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 8 mars 2010
-
8 oct. 2007 à 11:11
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008
-
8 oct. 2007 à 13:45
salut ,
j ai ajouté depuis references mon fichier dll qui contient une foncrion to_excel
quand j appele la fonction depuis mon projet il ne la reconnait pa (call to_excel(...))
merci dvancez
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 8 oct. 2007 à 11:39
Bonjour,
Donnes ton code qu'on puisse lire un peu de littérature pour comprendre plus précisémment stp !
Et puis ta DLL est-elle bien une DLL de type ActiveX ?
Si oui est-elle correctement enregistrée dans le système ?
Gerome GUILLEMIN ( auteur du langage FBSL)
http://www.fbsl.net --------------------------------
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 8 oct. 2007 à 12:07
Ok,
Donc tu compiles cette DLL en ActiveX sous VB 5, 6 ou autre, mais avant il faut donner un espace de NOMS à ta DLL (cf les properties de compilation de ta DLL et appelles la par exemple 'ExcelDLL' )
Admettons que cette DLL se nomme TEST.DLL et se trouve sur C:\MESDLL\
Tu vas dasn le répertoire où se situe cette DLL et tu l'enregistre en ligne de commande
REGSVR32.EXE C:\MESDLL\TEST.DLL
Un message de confirmation d'enregistrement s'affichera.
Ensuite dans ton programme client, tu invoques ta DLL de la maniere suivante :
Sub Test()
Dim o as new ExcelDLL
o.to_excel( ... )
Boutellis
Messages postés29Date d'inscriptionmercredi 3 octobre 2007StatutMembreDernière intervention 8 mars 2010 8 oct. 2007 à 11:44
re ,
voila en dessous le corps du fichier dll , d apres ce que j ai lu dans qq topic qu on a seulement besoin d appeller la fonction dans le projet ou on y integre ce fichier dll mais ca marche pa , côté enregistrement j en connais pa trop c a dire que je l ai pas fait lol
Option Explicit
Function to_excel(dbrs As ADODB.Recordset, nom_fichier As String)
Dim i As Integer
Dim j As Integer
Dim myap As New Excel.Application
Dim myxl As New Excel.Workbook
Set myap = CreateObject("excel.application")
Set myxl = myap.Workbooks.Add
Set dbrs = New ADODB.Recordset
myxl.SaveAs nom_fichier
While Not dbrs.EOF
For i = 1 To dbrs.RecordCount
For j = 1 To dbrs.Fields.Count
If (i = 1) Then
myxl.Sheets(1).Cells(i, j) = dbrs(j - 1).Name
myxl.Sheets(1).Cells(i + 1, j) = dbrs(j - 1).Value
Else
myxl.Sheets(1).Cells(i + 1, j) = dbrs(j - 1).Value
End If
Next j
dbrs.MoveNext
Next i
Wend
myxl.Save
myxl.Close
End Function