VBA SendKeys

Innehållsförteckning

VBA SendKeys

VBA SendKeys -metoden används för att skicka knapptryckningar till det aktiva programmet:

1 Application.SendKeys ("s")

Ovanstående kod efterliknar att trycka på “s” -tangenten på tangentbordet.

SendKeys -metoden tar två argument:

  • Nycklar - Nycklarna du vill skicka till programmet som text.
  • Vänta (Frivillig)- Det här värdet kan antingen vara sant eller falskt. Om det är sant väntar Excel på att nycklarna ska bearbetas först innan nästa kodrad körs. Om False, fortsätter Excel att köra proceduren utan att vänta på att nycklarna ska bearbetas.

SendKeys används vanligtvis vid interaktion med andra applikationer eftersom det är ett snabbt och enkelt sätt att utföra uppgifter. Du kan till exempel använda SendKeys när du automatiserar Internet Explorer.

Du bör dock vara extremt försiktig när du använder SendKeys -metoden eftersom det kan ha oväntade resultat. Vi rekommenderar att du bara använder SendKeys som en sista utväg och/eller när misstag är acceptabla (eller lätt detekterbara).

VBA SendKeys Exempel

Varje nyckel i form av bokstäver representeras av deras karaktär, till exempel är a ”a”.
Om du vill använda tangenter i kombination med Ctrl, Shift eller Alt måste du föregå nyckelkoden med följande:

Nyckel Koda
Ctrl ^
Flytta +
Alt %

Följande kod använder SendKeys -metoden för att spara arbetsboken:

12345 Sub UsingSendKeys ()Application.SendKeys ("^s")Avsluta Sub

Som vi nämnde tidigare måste du vara extremt försiktig när du använder SendKeys. Följande kod anger en väntetid på 10 sekunder innan texten matas in/skickas till Anteckningar. Genom att vänta i 10 sekunder tillåter du Notepad en chans att öppna ordentligt, vilket minskar risken för ett fel.

Obs! Denna kod använder metoden Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Call Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Ring SendKeys ("This is Some Text", True)Avsluta Sub

Resultatet efter 10 sekunders väntetid är:

SendKeys kan vara ett extremt snabbt och enkelt sätt att utföra uppgifter. Risken för fel är dock relativt hög. Använd endast SendKeys när den risken är acceptabel!

wave wave wave wave wave