Bonjour tout le monde,
Le problème est :
Je crée un fonction qui va chercher une valeur dans un fichier Excel, et après, elle va retourner cette valeur. Cette fonction est appelée dans une boucle.
Mais ça blogue, car l'application Excel ne ferme pas. Du coup, on lance beaucoup de "Excel.exe" et au bout d'un moment, ça blogue l'ordinateur. Mais pourtant, à la fin de cette fonction, j'ai écrit des instructions qui ferme et qui libère l'espace.
Help ...Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 Public Function ReadLine(ByVal MenuPara As String) As Byte Dim Var As Byte Dim NumOfVg As Byte Dim Menu As Integer Dim Para As Integer 'Tous les variables pour base.xls Dim AppExcel As Excel.Application Dim BookExcel As Excel.Workbook Dim SheetExcel As Excel.Worksheet 'Tous les variables pour position.xls Dim AppExcel1 As Excel.Application Dim BookExcel1 As Excel.Workbook Dim SheetExcel1 As Excel.Worksheet '*********************** Traitement des données dans " position.xls"******************************* ' Ouverture de l'application: recherche la postion spécifique dans position.xls AppExcel1 = New Excel.Application 'Exemple 512 Menu = Convert.ToInt32(Menu, 10) \ 100 ' On aura 5 Para = Convert.ToInt32(Menu, 10) Mod 100 ' On aura 12 'Ouverture du fichier base.xls BookExcel1 = AppExcel1.Workbooks.Open("C:\position.xls") SheetExcel1 = BookExcel1.Worksheets(1) Var = SheetExcel1.Cells(Para, Menu).value 'Numéro de ligne ou se trouve tous les infos d'un ID spécifique '******************************************************************************************************* '***********************Traitement des données dans base.xls******************************************* ' Ouverture de l'application: recherche la postion spécifique dans base.xls AppExcel = New Excel.Application 'Ouverture du fichier base.xls BookExcel = AppExcel.Workbooks.Open("C:\base.xls") SheetExcel = BookExcel.Worksheets(1) 'retraire le nombre de vigule d'un ID spécifique, qui se trouve forcement en colonne numéro 7 NumOfVg = SheetExcel.Cells(Var, 7).value Return NumOfVg 'Désallocation mémoire BookExcel1.Close() AppExcel1.Quit() BookExcel.Close() AppExcel.Quit() 'Désallocation mémoire BookExcel1 = Nothing SheetExcel1 = Nothing BookExcel = Nothing SheetExcel = Nothing '******************************************************************************************************* End Function
Partager