Fermer une instance Excel masquée

GeoTrouvePas

XLDnaute Impliqué
Bonjour le forum !

J'ai un peu petit soucis que je n'arrive pas à résoudre malgré de nombreuses recherches.

A partir de mon classeur principal, j'ouvre un second classeur via une instance Excel masquée grâce au code suivant :
Code:
Set InstanceBase = CreateObject("Excel.Application")
InstanceBase.Visible = False
Set ClasseurBase = InstanceBase.Workbooks.Open(C:\Machin.xls))

Jusque là, tout va bien.... Là où je coince, c'est que j'aurai besoin d'une macro qui vérifie si ce second classeur est déjà ouvert. Du fait que Machin.xls est ouvert dans une seconde instance, qui plus est masquée, je ne peux pas me servir d'un
Code:
.Windows.Count

Est ce quelqu'un manipulerai suffisement les API Windows pour résoudre ça ?

Je vous remercie par avance de votre aide.

Bonne soirée à tous !
 

Pierrot93

XLDnaute Barbatruc
Re : Fermer une instance Excel masquée

Re,


tu peux également l'ouvrir masqué comme ceci :

Code:
Option Explicit
Sub test()
Dim c As String, wb As Workbook
c = ActiveWorkbook.Path & "\NomDuclasseur.xls"
If Dir(c) <> "" Then
    With Application
        .ScreenUpdating = False
        Set wb = GetObject(c)
        'ton code
        
        'en cas d'enregistrement du fichier masqué,
        'il y a lieu de rendre visible la fenêtre du classeur
        'Windows("Format.xls").Visible = True
        wb.Close False 'ou True pour enregistrer
        .ScreenUpdating = True
    End With
End If
End Sub

@+
 

serras

XLDnaute Junior
Re : Fermer une instance Excel masquée

Bonjour,

J'ai le même probleme : une session ouverte mais non visible. Hélas, les réponses apportées ne m'ont pas beaucoup aidées. Ou et comment taper le cadre permettant de la fermer ?

Lerci de votre aide.

LS