Code utilisé fréquement pour manipuler les fichiers excel sous VB6

Embed Size (px)

Citation preview

Code utilis frquement pour manipuler les fichiers excel sous VB6 : 'Dclaration des variables Dim appExcel As Excel.Application 'Application Excel Dim wbExcel As Excel.Workbook 'Classeur Excel Dim wsExcel As Excel.Worksheet 'Feuille Excel 'Ouverture de l'application Set appExcel = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierExcel.xls") 'wsExcel correspond la premire feuille du fichier Set wsExcel = wbExcel.Worksheets(1) ' ' code divers ' wbExcel.save wbExcel.Close appExcel.Quit Set wsExcel = Nothing Set wbExcel = Nothing Set appExcel = Nothing Et ce code me genere des processus en mmoire qu'il faut tuer en fermant l'application et en plus il faut rfrencer excel dans l'appli. Hors dvellopement sur Excel 2003 et utlisation sur des postes utilisant Excel 2000 -> gros BUG J'en suis venu essayer : Dim appExcel As Object Dim wbExcel As Object Dim wsExcel As Object Set appExcel = CreateObject("Excel.application") Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierExcel.xls") Set wsExcel = wbExcel.ActiveSheet ' ' code divers ' wbExcel.save wbExcel.Close appExcel.Quit Set wsExcel = Nothing Set wbExcel = Nothing Set appExcel = Nothing notez la difference dans la dclaration des variables et cela rsolu mes deux gros problemes Cependant, il est tenir compte que comme excel n'est pas rfrenc, la syntaxe du code excel sous vb6 doit etre maitris (on perd l'intuitivit de la programmation). Il faut tous moment rappeler les objects cre pour faire fonctionn le code; je m'explique : Avec le rfrencement d'excel il suffit d'crire: Sheets(2).Range("A1").value = "" pour remplir une cellule Sans le rfrencement vous serez oblig d'crire : wbExcel.Sheets(2).Range("A1").value = "" Je pense que ce tutoriel servira un bon nombre de programmeur dbutant comme moi