Bonsoir
Sur mon PC dont je suis administrateur (OFFICE 2000 sous VISTA), l'instruction VB SendKeys "{END}",True me sort systematiquement le message "PERMISSION REFUSEE"
A quoi cela est-il dû ?
Merci d'avance
Bonsoir
Sur mon PC dont je suis administrateur (OFFICE 2000 sous VISTA), l'instruction VB SendKeys "{END}",True me sort systematiquement le message "PERMISSION REFUSEE"
A quoi cela est-il dû ?
Merci d'avance
Regarde ce post cela donne (pour end)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Option Explicit Private Declare Sub keybd Lib "user32" Alias "keybd_event" _ (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) Public Sub appui_touche(T As Long) 'appuie sur la touche keybd T, 0, 0, 0 'relache la touche keybd T, 0, 2, 0 End Sub Private Sub Form_Load() appui_touche 35 'code ascii de la touche "Fin" du clavier End Sub
Soyez sympa, pensez -y
Balises[CODE]...[/CODE]
Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Balises[C]...[/C] code intégré dans une phrase.
Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
👉 → → Ma page perso sur DVP ← ← 👈
cela fonctionne avec les keycodes car je n'ai pas trouvé les ocdes ASCII.
Mais je n'ai pas trouvé le moyen d'activer ces touches sur une autre appli qu'EXCEL : un document PDF par exemple.
Quelle est la solution pour qu' à l'affichage d'une page hors EXCEL, appelée par VB, mes activations de touches fonctionnent ?
Merci d'avance
mes activations de touches fonctionnent ?Il te faut activé la fenêtre qui doit recevoir la touche clavier, pour cela, si tu connais le titre de la fenêtre, tu suis l'exemple fourni.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Sub appui_touche(T As Long) 'appuie sur la touche keybd T, 0, 0, 0 'relache la touche keybd T, 0, 2, 0 End Sub Private Sub Command1_Click() AppActivate "Sans titre - Bloc-notes" '<= ......... appui_touche 65 'A End Sub
Soyez sympa, pensez -y
Balises[CODE]...[/CODE]
Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Balises[C]...[/C] code intégré dans une phrase.
Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
👉 → → Ma page perso sur DVP ← ← 👈
C'est super ! C'est exactement ce que je cherchais depuis longtemps.
Merci
Juste une dernière précision : pour revenir à Excel, je suppose qu'on fait un Appactivate "Microsoft Excel nom fenêtre"; il n'y a pas plus direct.
Bonjour,
Relève le handle hwnd de ta fenêtre de départ avant d'activer l'autre.
Tu trouveras pour celà une source sur ce forum
(à noter que si ta fenêtre de départ a le focus, la fonction Getfocus en extraira ce handle, tout simplement ...)
Mets ce hwnd (c'est un Long) dans une variable globale.
Il te suffira ensuite d'utiliser la fonction PutFocus et de lui passer ce hwnd pour revenir à la fenêtre de départ.
Les fonctions PutFocus et SetFocus sont deux fonctions de l'Api de Windows (dans la librairie User32)
Question subsidiaire : es-tu certain de développer sous VB6 et non sous VBA/EXCEL ?
Effectivement, je m'étais égaré sur ce forum mais je croyais que VBA n'était que le successeur de VB6 et autres. D'ailleurs cela m'a permis d'apprendre des choses que je n'avais pas trouvées sur VBA/EXCEL : il y a bien un tronc commun !
Merci encore : il ne me reste plus qu'à faire connnaissance avec les API WINDOWS !
c'est une bonne idée .. mais je suppose que sous excel .. tu n'as pas besoin d'API peu-être seulement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ThisWorkbook.Activate
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager