précisions sur du VB_access

Le
bruno.lindis
Bonjour,

Deux points :
1) Comment faire pour que l'instruction "xlBook.SaveAs nomFichierExcel"
remplace le fichier nomFichierExcel sans demander l'accord de
l'utilisateur par pop-up ?

2) Comment faire pour récupérer après un "Set xlApp =
CreateObject("Excel.Application") le n° du thread qui a été lancé ?

Merci.
A+


--
-- Otez le second point pour me contacter
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel_D
Le #6363961
Bonjour,

"bruno.lindis"
Bonjour,

Deux points :
1) Comment faire pour que l'instruction "xlBook.SaveAs nomFichierExcel"
remplace le fichier nomFichierExcel sans demander l'accord de
l'utilisateur par pop-up ?



Il faut vérifier si le fichier existe et le cas échéant le supprimer.


2) Comment faire pour récupérer après un "Set xlApp > CreateObject("Excel.Application") le n° du thread qui a été lancé ?



Si c'est le ProcessID que tu veux et que tu n'a pas déja une instance
d'Excel ouverte, le code suivant devrait convenir :

Dim oApp As Object, oExcel As Object, oShell As Object

Set oShell = CreateObject("WScript.Shell")
Set oApp = oShell.Exec("Excel")
Set oExcel = GetObject(, "Excel.Application")

MsgBox oApp.processID

...

oExcel.Quit
Set oExcel = Nothing
Set oApp = Nothing
Set oShell = Nothing

bruno.lindis
Le #6363391
Ci-joint la réponse de argy ronet qui suite à des difficultés techniques
m'a maillé sa réponse.

Je ne l'ai pas encore testée mais elle complète bien la réponse de Michel_D.

Merci à eux deux je teste l'ensemble et je reviens vous mailler ;-)


Bonjour,

Deux points :
1) Comment faire pour que l'instruction "xlBook.SaveAs nomFichierExcel"
remplace le fichier nomFichierExcel sans demander l'accord de
l'utilisateur par pop-up ?


Pour instancier votre xlBook, vous avez utilisé un objet Application.
C'est à partir de cet objet que vous pouvez désactiver le message :

Application.Displaylertsúlse dans Excel

xlApp.Displaylertsúlse dans votre portion de code si votre variable
d'instanciation s'appelle comme telle, sinon, vous adaptez.



2) Comment faire pour récupérer après un "Set xlApp =
CreateObject("Excel.Application") le n° du thread qui a été lancé ?


Avec un CreateObject, ce n'est pas possible comme tel.
Avec un Shell() vous récupérer le PID : N° du gestionnaire de tâches.
Mais le PID n'est pas le Handle et vous ne pouvez pas manipuler
l'instance avec ce N°.
Pour ce faire, il faut localiser l'instance par ce PID ou bien utiliser
un FindWindows() si vous avez l'exact intiltulé de la fenêtre.
Pour exploiter le PID, je vous propose d'utiliser en l'adaptant, ce code
Réafficher une fenêtre lancée en mode cachée avec Shell
http://access.developpez.com/sources/?page=Windows#ShowShell



Merci.
A+





--
-- Otez le second point pour me contacter

Publicité
Poster une réponse
Anonyme