Avatar billede tolveren Nybegynder
21. december 2003 - 18:22 Der er 8 kommentarer og
2 løsninger

SendKey og makro

Jeg har lavet 2 makroer og koblet dem på 2 knapper. Den ene makro_ Kørkommando: "Bruger og Gruppekonti". Den anden makro_ SendTaster/SendKey: ^{Tab}^{Tab}.
Skulle skifte faneblad i vinduet, hvorved der flyttes til det vindue, hvor man kan skifte adgangskode. Makro nr 2 virker ikke, men hvis jeg anvender Ctrl-tab, Ctrl-tab. via tastaturet, så virker det. Er der nogen som kan fortælle hvad jeg gør galt.
Avatar billede terry Ekspert
21. december 2003 - 19:33 #1
Why dont you use Tabs caption for doing this?

If you set the tabs caption to &ThisIsTabOne then pressing Alt+T will change to that tab
the & character underlines the T and then the T becomes the shortcut to that TAB.

&AnotherTab would set A to the shortcut character (Alt+A)
Avatar billede terry Ekspert
21. december 2003 - 19:33 #2
.
Avatar billede terry Ekspert
21. december 2003 - 19:35 #3
This works on the click event of a button

Private Sub cmdChangeTab_Click()
  SendKeys "^{Tab}"
  SendKeys "^{Tab}"
End Sub
Avatar billede terry Ekspert
21. december 2003 - 20:10 #4
So I guess th eproblem is that you need to enclose ^{Tab} In ""

Sendkeys "^{Tab}"
Avatar billede terry Ekspert
21. december 2003 - 20:11 #5
SendKeys "^{Tab}^{Tab}"
works too
21. december 2003 - 20:28 #6
Problemet er alm. kendt, når du åbner dialogbokse. Du skal derfor skrive Sendkeys FØR du åbner dialogboksen. Sendkeys skal så bare have parameteren Wait=True.

Således:
SendKeys "^{Tab}^{Tab}", False
DoCmd.RunCommand acCmdUserAndGroupAccounts
21. december 2003 - 20:30 #7
Hvis det skal være i makroer, skal du altså bare bytte om på linierne og så sætte makroegenskaben Vent = Falsk
Avatar billede tolveren Nybegynder
22. december 2003 - 10:50 #8
SendKeys "^{Tab}^{Tab}", False
DoCmd.RunCommand acCmdUserAndGroupAccounts
Det virker.
-----
Private Sub Kommandoknap63_Click()
On Error GoTo Err_Kommandoknap63_Click

    Dim stDocName As String

    stDocName = "Makro3"
    stDocName = "Makro2"
    DoCmd.RunMacro stDocName

Exit_Kommandoknap63_Click:
    Exit Sub
-----
Her er koden som behandles når knappen klikkes. Makro3 udfører SendKey og er sat til ja(vent). Makro2 udfører kørkommando "Bruger-OgGruppekonti". Virker ikke. Bruger-OgGruppekonti vises, men SendKey flytter ikke til fanebladdet i vinduet.
Jeg vil stadig gerne vide hvorfor det ikke virker.
Avatar billede terry Ekspert
22. december 2003 - 17:57 #9
tolvern> I dont know if this code example you give is correct but only the last makro is going to be executed. This is because stDocName gets overwritten!

stDocName = "Makro3"
stDocName = "Makro2"
DoCmd.RunMacro stDocName


Try

stDocName = "Makro3"
DoCmd.RunMacro stDocName
stDocName = "Makro2"
DoCmd.RunMacro stDocName
Avatar billede tolveren Nybegynder
23. december 2003 - 14:44 #10
75 point til thomasjepsen og 25 til terry for den store interesse.
Den sidste forslag:

stDocName = "Makro3"
DoCmd.RunMacro stDocName
stDocName = "Makro2"
DoCmd.RunMacro stDocName
virker ikke hos mig. Og heller ikke hvis jeg bytter rundt på rækkefølgen af makroerne. Jeg får mit kommando-vindue frem, men makroen vil ikke flytte til næste fane blad i vinduet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester