Savoir si un fichier excel est ouvert et le fermer si c'est le cas

skunkbedo Messages postés 1 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 14 mai 2004 - 14 mai 2004 à 16:24
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 14 mai 2004 à 20:01
Salut tout le monde! Je vsuis en train de développer une application en VB qui utilise Excel. L'application permet d'ouvrir, de modifier et d'enregistrer des info dans un fichier excel. Mon problème c'est que j'aimerais savoir si le fichier que j'utilise est ouvert pour pas qu'il y est de conflit ( pas de lecture seule). de plus si le fichier est ouvert j'aimerais pouvoir le fermer. voilà c tout. merci d'avance pour votre aide

1 réponse

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
14 mai 2004 à 20:01
Salut,
D'abord, pour jouer avec excel tu peux aller voir sur :
http://perso.wanadoo.fr/frederic.sigonneau/Bricolos.htm

maintenant, g fais une appli du même genre et d'abord, je teste si excel est déjà chargé avec :

' Chargement de l'application Excel
On Error Resume Next

Set AppExcel = GetObject(, "Excel.Application")

If Err.Number <> 0 Then
Set AppExcel = CreateObject("Excel.Application")
End If

Err.Clear

On Error GoTo 0

Explication : si excel est déjà chargé, je fais un getobject sinon je le crée.

Si le getobject ne provoque pas d'ereur, c cool, tu charge le classeur que tu veux par :
Set ClasseurExcel = AppExcel.Workbooks.Open(Chemin_NomClasseur)

sinon, tu explores la collection des workbooks comme ça :

Dim w As Workbook
For Each w In AppExcel.Workbooks
If w.Name = "NomClasseur" Then
w.Save
w.Close
End If
Next

comme ça, si le fichier est ouvert, tu le sauve et tu le fermes, après, à toi de voir si tu veux le réouvrir ou non.

Cordialement

CanisLupus
0
Rejoignez-nous