Bonjour à Tous,
Quelqu'un ici saura-t-il m'expliquer le fonctionnement bizarre que j'obtiens avec le code ci-dessous.
Lorsque j'appelle la macro aaa depuis une feuille Excel (ALT + F8), je n'obtiens pas l'effet souhaité : je voudrais ouvrir la fenêtre d'Impression, attendre un peu, puis la fermer en envoyer la touche ESC. L'attente se fait directement au début et non pas entre les deux SendKeys.
Par ailleurs, si je fais un DoEvents juste après le "Call CTRL_P", alors, j'ai la très vieille fenêtre d'impression qui s'affiche.
J'ai essayé avec le SendKey de l'application, même résultat. Idem sur différentes versions d'Excel et 32 ou 64 bits.
Bref, c'est très bizarre.
Si quelqu'un a une idée ...
Merci
PS : je suis tombé sur ce problème en essayant de cocher "Accès approuvé au modèle d'objet du projet VBA" dans les options d'Excel.
Bonne semaine,
Laurent
Quelqu'un ici saura-t-il m'expliquer le fonctionnement bizarre que j'obtiens avec le code ci-dessous.
VB:
Sub aaa()
' Application.Wait (Now + TimeValue("0:00:02"))
Call CTRL_P
' DoEvents
' Application.Wait (Now + TimeValue("0:00:05"))
For i = 1 To 100000000
Next i
Call ESC
End Sub
Sub CTRL_P()
Dim Wsh As Object
Set Wsh = CreateObject("WScript.Shell")
Wsh.SendKeys "^p", True
Set Wsh = Nothing
End Sub
Sub ESC()
Dim Wsh As Object
Set Wsh = CreateObject("WScript.Shell")
Wsh.SendKeys "{ESC}", True
Set Wsh = Nothing
End Sub
Lorsque j'appelle la macro aaa depuis une feuille Excel (ALT + F8), je n'obtiens pas l'effet souhaité : je voudrais ouvrir la fenêtre d'Impression, attendre un peu, puis la fermer en envoyer la touche ESC. L'attente se fait directement au début et non pas entre les deux SendKeys.
Par ailleurs, si je fais un DoEvents juste après le "Call CTRL_P", alors, j'ai la très vieille fenêtre d'impression qui s'affiche.
J'ai essayé avec le SendKey de l'application, même résultat. Idem sur différentes versions d'Excel et 32 ou 64 bits.
Bref, c'est très bizarre.
Si quelqu'un a une idée ...
Merci
PS : je suis tombé sur ce problème en essayant de cocher "Accès approuvé au modèle d'objet du projet VBA" dans les options d'Excel.
Bonne semaine,
Laurent