Bonjour.
Depuis mon prog en VB6, je fais un export vers un fichier excel. Si je ne ferme pas ce fichier et que je relance l'export, ca plante bien évidemment.
Comment tester si ce fchier est ouvert ?
Merci d'avance pour vos réponses.
Version imprimable
Bonjour.
Depuis mon prog en VB6, je fais un export vers un fichier excel. Si je ne ferme pas ce fichier et que je relance l'export, ca plante bien évidemment.
Comment tester si ce fchier est ouvert ?
Merci d'avance pour vos réponses.
Salut
Une idée à tout hasard: tu peux tester si ta variable ExcelApp (ou un autre nom que tu lui aura donné) est égale à Nothing:
Note: quelqu'un (moi, probablement) a joué dans les paramètres de IE (quelle merde) et les BBCodes ne s'affichent plus... Je corrigerai plus tard.Code:
1
2
3 If ExcelApp <> Nothing Then 'ton code ici End If
Edit: code édité à la main. Faut vraiment que je rétablisse ces f...us paramètres!
Apres génération de mon fichier, je quitte l'application excel, donc mes variables sont toutes vides.
Ce qui n'empêche pas que le fichier puisse rester ouvert.
En fait, si je pouvais lire le contenu de la barre des tâches, ça pourrait résoudre mon problème.
Si qq connait, merci d'avance.
bonsoir
j'espere que cet exemple pourra t'aider
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub ControlerSiClasseurExcelOuvert() Dim Appli As Excel.Application Dim Wb As Excel.Workbook On Error Resume Next Set Appli = GetObject(, "Excel.Application") If Appli Is Nothing Then MsgBox "Excel est fermé" Exit Sub End If For Each Wb In Appli.Workbooks If Wb.Name = "classeurTest.xls" Then MsgBox "Le classeur est ouvert" Wb.Close True 'fermeture classeur en sauvegardant les modifications Exit Sub End If Next Wb MsgBox "Le classeur est fermé" End Sub
bonne soiree
michel
Dis donc, SilkyRoad, c'est chouette, ce truc pour vérifier qu'Excel n'est pas ouvert. Je vais le mettre dans un petit coin, ça pourrait bien me servir....
Merci beaucoup. C'est simple et parfait.