VBA SendKeys

Excel VBA SendKeys

SendKeys w języku VBA to metoda służąca do wysyłania naciśnięć klawiszy do aktywnego okna, abyśmy mogli potem pracować ręcznie. Ilekroć używamy alfabetów jako kluczy, wszystkie alfabety muszą być zapisane małymi literami. Jest to metoda złożona i zaleca się jej stosowanie tylko wtedy, gdy jest to konieczne i gdy nie masz możliwości

„SendKeys” to jeden ze złożonych tematów do zrozumienia. Niewielu z nas korzysta z tej funkcji w VBA, ale zawsze dobrze jest mieć większą wiedzę na więcej tematów. W tym artykule pokażemy, jak korzystać z funkcji SendKeys. Wielokrotne ponowne przeczytanie artykułu przy praktycznym podejściu do szybkiej i lepszej nauki może okazać się trudne.

Składnia

Poniżej znajduje się składnia metody vba SendKeys.

Klucze lub ciąg: rodzaj klucza, który musimy wysłać do aktywnej aplikacji.

Czekaj: w tym argumencie możemy użyć dwóch rzeczy, tj. PRAWDA lub FAŁSZ

  • PRAWDA, jeśli chcesz, aby program Excel czekał na przetworzenie przypisanych kluczy przed przywróceniem kontroli do makra.
  • FALSE jeśli zignorujesz parametr Wait , będzie to wartość domyślna. Jeśli wybierzesz FALSE, program Excel będzie kontynuował uruchamianie makra bez oczekiwania na przetworzenie kluczy w aktywnym oknie.

Typowe klawisze, których używamy na klawiaturze to „Ctrl, Shift i ALT” . Więc w przypadku metody SendKeys musimy używać ich ze znakami specjalnymi, poniższa tabela pokazuje znaki specjalne dla powyższych trzech wspólnych kluczy.

Inne klawisze mają różne klawisze i znaki, w poniższej tabeli przedstawiono szczegółowe wyjaśnienie każdego klawisza.

Zgodnie z wymaganiami możemy użyć dowolnego z powyższych kluczy. Z praktycznymi przykładami pokażemy Ci, jak używać SendKeys.

Przykłady użycia metody Excel VBA SendKeys

Możesz pobrać ten szablon VBA SendKeys Excel tutaj - Szablon VBA SendKeys Excel

Przykład 1

Na przykład spójrz na poniższą wartość komórki.

Mamy wartości w trzech komórkach, a w pierwszej komórce mamy wartość „Bangalore”, a dla tej komórki jest komentarz jako „Stolica Karnataki”.

Teraz za pomocą „SendKeys” próbujemy edytować ten komentarz.

Otwórz arkusz Excela i przejdź do edytora Visual Basic, uruchom podprocedurę VBA.

Kod:

 Sub Send_Keys_Example () End Sub 

Najpierw musimy wybrać komórkę komentarza, aby edytować komentarz. Dlatego użyj kodu RANGE („A1”)

Kod:

 Sub Send_Keys_Example () Range („A1”). Wybierz End Sub 

Po wybraniu komórki wykonamy akcję edycji komentarzy. Tutaj musimy przypomnieć sobie skrót klawiaturowy, którego używamy do edycji komentarza.

W celu edycji komentarza używamy klawisza skrótu „Shift + F2” .

Jeśli naciśniesz ten klawisz, będzie to edycja komentarza.

Teraz otwórz metodę „SendKeys”.

W metodzie SendKeys znakiem używanym do użycia klawisza SHIFT jest „+” (znak plus), więc wprowadź kod logowania „+”.

Teraz znak plus działa jak klawisz SHIFT, następny klawisz wraz z SHIFT, którego używamy, to klawisz F2. Zawsze, gdy używamy klawiszy funkcyjnych, musimy ująć je w nawiasy klamrowe, więc wprowadź klawisz funkcyjny F2 w nawiasach klamrowych.

Kod:

 Sub Send_Keys_Example () Range ("A1"). Select SendKeys "+ {F2}" End Sub 

Teraz wykonaj kod i zobacz, co otrzymamy.

Kiedy próbujemy wykonać kod, otrzymaliśmy komunikat jak powyżej. Jedną z kluczowych rzeczy, o których musimy pamiętać, jest to, że nie możemy uruchomić makra używającego „SendKeys” z okna edytora Visual Basic.

Musimy uruchomić kod z listy „Makro”.

Najpierw zamknij okno Edytora Visual Basic.

Przejdź do zakładki „Deweloper” i kliknij „Makro”.

Teraz otwiera się lista wszystkich makr, wybierz makro, które chcesz uruchomić. Nasza nazwa makra to „Send_Keys_Example”, więc nacisnę przycisk uruchamiania.

Widać, że opcja Edytuj komentarz jest włączona.

Jak widać powyżej, przypisał klawisz skrótu SHIFT + F2, aby otworzyć opcję edycji komentarza.

Przykład nr 2

Na przykład, jeśli chcesz otworzyć okno „Wklej specjalnie” za pomocą metody SendKeys, również możemy to zrobić. Najpierw musimy skopiować określone komórki, a następnie użyć SendKeys.

Kod:

 Sub Send_Keys_Example1 () Range ("A1"). Copy SendKeys "% es" End Sub 

Wybierz makro, które chcesz uruchomić, a następnie kliknij Uruchom.

Po uruchomieniu kodu otworzy się poniżej wklej specjalne okno dialogowe.

Rzeczy do zapamiętania

  • SendKeys przypisuje naciśnięcia klawiszy do aktywnej aplikacji.
  • Ta metoda jest tak złożona i zaleca się jej stosowanie tylko wtedy, gdy jest to konieczne i gdy nie masz żadnych opcji.
  • Ilekroć używamy alfabetów jako kluczy, wszystkie alfabety muszą być zapisane małymi literami.