utiliser l'objet windows

darkspoilt

Expert
Bonjour
je suis dans un environnement Acces et j'aimeais savoir
si mon fichier "c:\Temp\e_analyse_croisée.xls" est ouvert ou utiliser pour le fermer pour pouvoir lancer un export sur le meme fichier et écrasé le précedent

Si quelqu'un peut me dire les fonction que je peux utiliser merci d'avance
 

darkspoilt

Expert
Bonjour,
Je voudrais comment on peut utiliser l'objet windows pour un environnement autre que acces
en effet j'aimerais
utiliser l'objet
[cpp]windows.("test.xls")[/cpp]
C'est pour vérifier que ma fenêtre est ouverte
et j'aimerais récupéer l valeur d'erreur de quel type est t'elle?

Merci d'avance

 

zeb

Modérateur
Les sujets précédents ont été fusionnés par Zeb

--------------------------
Je fusionne car c'est la même question.


La collection Windows, ce sont les fenêtres de ton applications.

Comment résoudre ton problème ?

Premier constat : plusieurs sessions d'Excel peuvent exister.
Donc il faut itérer dans toutes les applications ouvertes pour trouver les instances d'Excel.
--> voir EnumWindows
Dans ces instances, on recherchera celle qui contient ton fichier ouvert.

(à suivre...)


Encore mieux
Autre solution, utiliser GetObject
 

darkspoilt

Expert
en fait je suis dans Access et j'aimerais vérifier que ma fenêtre Excel est bien fermé avant de faire un export

[cpp]Set MyObject = GetObject("C:\Temp\e_analyse_croisée.xls")[/cpp]

et quand il est ouvert ou fermé je sais même pas ce qu'il renvoie?
 

darkspoilt

Expert
J'ai trouvé
je fais un [cpp]Myobject.close[/cpp] mais il y a un petit souci mon classeur se ferme bien mais pas l'application Excel du coup je me trouve avec deux applications Excel une vide et une contenant ma nouvelle feuille.
Quelqu'un aurait une solution?
 

zeb

Modérateur
Réfléchissez !!
/
Vous devez être connecté pour voir les images.


Faudrait peut-être reprendre ce qu'on a déjà vu. :o
1° Lis la doc sur GetObject
2° Utilise la fenêtre espion de VB.

------------------

Code:
Set MyObject = GetObject(..)
Stop
Ou un point d'arrêt, au choix.

Quand ton code s'arrête, ajoute MyObject à la fenêtre des espions. Tu y découvres que MyObject est de type Object/Workbook. C'est donc un classeur (On s'en serait douté, quand même). Or la classe Workbook possède un attribut Application de type Excel.Application. C'est l'instance d'Excel qu'il te faut.

Par principe, vérifie que l'instance ne contient pas d'autres classeurs avant de la fermer.
 

darkspoilt

Expert
Et comment on utilise cet attribut?

[cpp]Set MyObject = GetObject("C:\Temp\e_analyse_croisée.xls" )
Myobject.close[/cpp]

et quand la fenêtre était déja fermé j'ai un problème d'automation l'bojet s'est déconnecté quand j'utilise les espions
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 049
Membres
1 586 392
Dernier membre
jpaulNonDispo
Partager cette page
Haut