Bonjour à tous,
je suis confronté à un problème assez étrange de compatibilité ...
j'ai le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Function ClasseurEstOuvert(strNomFichierComplet As String) As Boolean 'test pour savoir si le classeur est ouvert...
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
With xlApp
' L'instance d'Excel qui porte le fichier ne doit pas être visible
.Visible = False
.Workbooks.Open (strNomFichierComplet)
' Si le classeur est déjà ouvert cette propriété sera à True
ClasseurEstOuvert = .Workbooks(1).ReadOnly
.DisplayAlerts = False
.Quit
End With
' Ne pas oublier de supprimer la référence à Excel
Set xlApp = Nothing
End Function |
Pour info, le but de cette fonction est de vérifier si le fichier cible est en cours d'exécution (ouvert par quelqu'un).
strNomFichierComplet est la variable contenant le chemin d'acces du fichier cible.
Cette macro fonctionnait très bien sous excel 2003 + XP. Mais nous avons migré sous SEVEN (64 bit) et excel 2007 et depuis c'est le drame !!!
Maintenant, lorsque je lance cette fonction, la macro s'arrete sur la ligne
Set xlApp = New Excel.Application
avec comme message :
Erreur d'execution '- 2143719779 (8002801d)':
Erreur Automation
Biblioteque non inscrite.
Sans aucune autre indication.
S'avez vous quelle est la biblioteque en question ?
et comment réoudre le Pb ?! ![:(](https://www.developpez.net/forums/images/smilies/icon_sad.gif)
Merci d'avance
Partager