Celem tego kursu jest pomoc osobom, które nigdy wcześniej nie pisały programu, w nauce pisania. Nie ma powodu, dla którego pracownicy biurowi, gospodarze, profesjonalni inżynierowie i dostawcy pizzy nie powinny mieć możliwości korzystania z własnych, spersonalizowanych programów komputerowych, aby działać szybciej i mądrzejszy. Wykonanie zadania nie powinno wymagać „profesjonalnego programisty” (cokolwiek to jest). Wiesz, co należy zrobić lepiej niż ktokolwiek inny. Możesz zrobić to samemu!
(I mówię to jako ktoś, kto spędził wiele lat na pisaniu programów dla innych ludzi... 'zawodowo'.)
Powiedziawszy to, nie jest to kurs obsługi komputera.
W tym kursie założono, że wiesz, jak korzystać z popularnego oprogramowania, aw szczególności, że na komputerze jest zainstalowany program Microsoft Word 2007. Powinieneś znać podstawowe umiejętności obsługi komputera, takie jak tworzenie folderów plików (czyli katalogów) oraz przenoszenie i kopiowanie plików. Ale jeśli zawsze zastanawiałeś się, co to właściwie był program komputerowy, to nie ma problemu. Pokażemy ci.
Microsoft Office nie jest tani. Ale możesz uzyskać więcej korzyści z tego drogiego oprogramowania, które już zainstalowałeś. To duży powód, dla którego korzystamy Visual Basic dla aplikacji lub VBA wraz z pakietem Microsoft Office. Są miliony, które go mają i garstka (być może nikt), która wykorzystuje wszystko, co może zrobić.
Zanim przejdziemy dalej, muszę wyjaśnić jeszcze jedną rzecz dotyczącą VBA. W lutym 2002 r. Microsoft postawił zakład o wartości 300 miliardów dolarów na całkowicie nową bazę technologiczną dla całej firmy. Nazwali to .NET. Od tego czasu Microsoft przenosi całą bazę technologiczną do VB.NET. VBA to ostatnie narzędzie programistyczne, które wciąż korzysta z VB6, sprawdzonej i prawdziwej technologii, która była używana przed VB.NET. (Zobaczysz zwrot „oparty na modelu COM”, aby opisać tę technologię na poziomie VB6).
VSTO i VBA
Microsoft stworzył sposób pisania programów VB.NET dla Office 2007. Nazywa się Visual Studio Tools for Office (VSTO). Problem z VSTO polega na tym, że musisz kupić i nauczyć się obsługi Visual Studio Professional. Sam program Excel nadal jest oparty na modelu COM, a programy .NET muszą współpracować z programem Excel za pośrednictwem interfejsu (zwanego PIA, Primary Interop Assembly).
Więc... dopóki Microsoft nie podejmie wspólnych działań i nie da ci sposobu na pisanie programów, które będą współpracować z Wordem i nie zmuszą cię do dołączenia do działu IT, makra VBA wciąż są na drodze.
Innym powodem, dla którego używamy VBA, jest to, że tak naprawdę jest „w pełni upieczony” (a nie w połowie upieczony) rozwój oprogramowania środowisko używane od lat przez programistów do tworzenia jednych z najbardziej wyrafinowanych systemów. Nie ma znaczenia, jak wysoko ustawione są celowniki programistyczne. Visual Basic może Cię tam zabrać.
Co to jest makro?
Być może wcześniej korzystałeś z aplikacji komputerowych obsługujących tak zwany język makr. Makra są tradycyjnie tylko skryptami akcji klawiatury zgrupowanymi razem z jedną nazwą, dzięki czemu można je wszystkie wykonać jednocześnie. Jeśli zawsze zaczynasz dzień, otwierając dokument „MyDiary”, wpisując dzisiejszą datę i wpisując słowa „Drogi pamiętniku” - Dlaczego nie pozwolić, aby komputer zrobił to za Ciebie? Aby zachować spójność z innym oprogramowaniem, Microsoft nazywa VBA również językiem makr. Ale nie jest. To znacznie więcej.
Wiele aplikacji komputerowych zawiera narzędzie programowe, które umożliwia rejestrowanie makra „naciśnięcia klawisza”. W aplikacjach Microsoft narzędzie to nazywa się Rejestratorem makr, ale rezultatem nie jest tradycyjne makro naciśnięcia klawisza. Jest to program VBA, z tą różnicą, że nie odtwarza po prostu naciśnięć klawiszy. Program VBA daje ten sam efekt końcowy, jeśli to możliwe, ale możesz także pisać zaawansowane systemy w VBA, które pozostawiają proste makra klawiatury w kurzu. Na przykład możesz używać funkcji Excela w programie Word za pomocą VBA. I możesz zintegrować VBA z innymi systemami, takimi jak bazy danych, sieć lub inne aplikacje.
Chociaż rejestrator makr VBA jest bardzo przydatny do tworzenia prostych makr klawiatury, programistów odkryli, że jeszcze bardziej przydatne jest zapewnienie im startu w bardziej wyrafinowanych programach. Właśnie to zrobimy.
Początek Microsoft Word 2007 z pustym dokumentem i przygotuj się do napisania programu.
Karta Deweloper w programie Word
Jedną z pierwszych rzeczy, które musisz zrobić, aby napisać program Visual Basic w programie Word 2007, jest znajdź Visual Basic! Domyślnie w programie Word 2007 nie wyświetla się używana wstążka. Aby dodać Deweloper kliknij kartę Gabinet przycisk (logo w lewym górnym rogu), a następnie kliknij Opcje programu Word. Kliknij Pokaż kartę Deweloper na wstążce a następnie kliknij dobrze.
Po kliknięciu przycisku Deweloper zakładka, masz zupełnie nowy zestaw narzędzi używanych do pisania programów VBA. Użyjemy VBA Macro Recorder do stworzenia twojego pierwszego programu. (Jeśli wstążka ze wszystkimi twoimi narzędziami nadal znika, możesz kliknąć wstążkę prawym przyciskiem myszy i upewnić się Zminimalizuj wstążkę nie jest zaznaczone).
Kliknij Record Macro. Nazwij swoje makro: O VB1 wpisując tę nazwę w Nazwa makra pole tekstowe. Wybierz bieżący dokument jako lokalizację do przechowywania makra i kliknij OK. Zobacz przykład poniżej.
(Uwaga: jeśli wybierzesz Wszystkie dokumenty (Normal.dotm) z rozwijanego menu ten testowy program VBA stanie się częścią samego programu Word, ponieważ będzie on dostępny dla każdego dokumentu utworzonego w programie Word. Jeśli chcesz użyć makra VBA tylko w określonym dokumencie lub chcesz móc wysłać go komuś innemu, lepiej zapisać makro jako część dokumentu. Normal.dotm jest ustawieniem domyślnym, więc musisz go zmienić).
Przy włączonym rejestratorze makr wpisz tekst „Hello World”. do dokumentu Word. (Wskaźnik myszy zmieni się w miniaturowy obraz kasety z taśmą, aby pokazać, że naciśnięcia klawiszy są rejestrowane.)
(Uwaga: Hello World jest prawie wymagany do „pierwszego programu”, ponieważ jest to pierwszy podręcznik programowania na początku język komputera „C” Użyj tego. Od tego czasu jest to tradycja.)
Kliknij Zatrzymaj nagrywanie. Zamknij program Word i zapisz dokument, używając nazwy: Informacje o VB1.docm. Musisz wybrać Dokument z obsługą makr programu Word z Zapisz jako typ upuścić.
Otóż to! Napisałeś już program Word VBA. Zobaczmy, jak to wygląda!
Zrozumienie, czym jest program VBA
Jeśli zamknąłeś program Word, otwórz go ponownie i wybierz Informacje o VB1.docm plik zapisany w poprzedniej lekcji. Jeśli wszystko zostało zrobione poprawnie, powinien pojawić się baner u góry okna dokumentu z ostrzeżeniem bezpieczeństwa.
VBA i bezpieczeństwo
VBA jest prawdziwy język programowania. Oznacza to, że VBA może zrobić wszystko, czego potrzebujesz. A to z kolei oznacza, że jeśli otrzymasz dokument Worda z osadzonym makrem od jakiegoś „złego faceta”, makro to może zrobić wszystko. Dlatego ostrzeżenie Microsoft należy traktować poważnie. Z drugiej strony, ty napisałem to makro i wszystko, co robi, to wpisz „Hello World”, więc nie ma tutaj ryzyka. Kliknij przycisk, aby włączyć makra.
Aby zobaczyć, co utworzył Rejestrator makr (a także wykonać większość innych czynności związanych z VBA), musisz uruchomić Edytor Visual Basic. Po lewej stronie wstążki programisty jest dostępna ikona.
Najpierw zwróć uwagę na lewe okno. To się nazywa Eksplorator projektów i grupuje obiekty wysokiego poziomu (porozmawiamy o nich więcej), które są częścią twojego projektu Visual Basic.
Kiedy uruchomiono rejestrator makr, miałeś wybór Normalna szablon lub bieżący dokument jako lokalizację Twojego makra. Jeśli wybrałeś Normalny, to NewMacros moduł będzie częścią Normalna gałąź wyświetlacza Project Explorer. (Miałeś wybrać bieżący dokument. Jeśli wybrałeś Normalna, usuń dokument i powtórz poprzednie instrukcje.) Wybierz NewMacros pod Moduły w twoim obecnym projekcie. Jeśli nadal nie wyświetla się żadne okno kodu, kliknij Kod pod Widok menu.
Dokument programu Word jako kontener VBA
Każdy program Visual Basic musi znajdować się w jakimś „pliku” pliku. W przypadku makr VBA Word 2007 ten kontener jest dokumentem Word („.docm”). Programy Word VBA nie mogą działać bez Worda i nie można tworzyć samodzielnych programów Visual Basic („.exe”), tak jak w przypadku Visual Basic 6 lub Visual Basic .NET. Ale to wciąż pozostawia cały świat rzeczy, które możesz zrobić.
Twój pierwszy program jest z pewnością krótki i słodki, ale posłuży do wprowadzenia głównych funkcji VBA i Edytora Visual Basic.
Źródło programu zwykle składa się z serii podprogramów. Po przejściu na bardziej zaawansowane programowanie odkryjesz, że oprócz podprogramów mogą być częścią tego programu inne rzeczy.
Ten konkretny podprogram ma nazwę O VB1. Nagłówek podprogramu musi być sparowany z Napis końcowy na dnie. W nawiasie może znajdować się lista parametrów składająca się z wartości przekazywanych do podprogramu. Nic tu nie jest przekazywane, ale muszą tam być Pod oświadczenie mimo to. Później, gdy uruchomimy makro, będziemy szukać nazwy O VB1.
W podprogramie jest tylko jedna rzeczywista instrukcja programu:
Wybór. TypeText Text: = "Hello World!"
Obiekty, metody i właściwości
To oświadczenie zawiera wielką trójkę:
- obiekt
- metoda
- własność
Oświadczenie faktycznie dodaje tekst „Hello World”. do zawartości bieżącego dokumentu.
Kolejnym zadaniem jest uruchomienie naszego programu kilka razy. Podobnie jak kupno samochodu, warto jeździć nim przez chwilę, aż poczuje się trochę komfortowo. Zrobimy to następnie.
Programy i dokumenty
Mamy nasz wspaniały i skomplikowany system... składający się z jednej instrukcji programu... ale teraz chcemy to uruchomić. O to właśnie chodzi.
Jest jedna koncepcja do nauczenia się tutaj, która jest bardzo ważna i często naprawdę myli początkujących: różnica między program i dokument. Ta koncepcja jest fundamentalna.
Programy VBA muszą być zawarte w pliku hosta. W programie Word gospodarzem jest dokument. W naszym przykładzie to jest Informacje o VB1.docm. Program jest faktycznie zapisany w dokumencie.
Na przykład, gdyby był to Excel, rozmawialiśmy o program i arkusz. W programie Access program i Baza danych. Nawet w samodzielnej aplikacji Visual Basic Windows, mielibyśmy program i a Formularz.
(Uwaga: Istnieje tendencja w programowaniu, aby wszystkie pojemniki wysokiego poziomu były nazywane „dokumentem”. Jest to szczególnie przypadek, gdy XML... kolejna nadchodząca technologia... jest używany. Nie daj się zwieść. Chociaż jest to niewielka niedokładność, możesz myśleć o „dokumentach” jako mniej więcej tak samo jak „plikach”).
Tam są... ummmmm... około trzech głównych sposobów uruchamiania makra VBA.
- Możesz uruchomić go z Dokumentu Word.
(Uwaga: Dwie podkategorie mają wybrać Makra z menu Narzędzia lub po prostu nacisnąć Alt-F8. Jeśli przypisałeś makro do paska narzędzi lub skrótu klawiaturowego, to jeszcze jeden sposób.)) - Możesz uruchomić go z Edytora za pomocą ikony Uruchom lub menu Uruchom.
- Możesz przejść krok po kroku przez program w trybie debugowania.
Powinieneś wypróbować każdą z tych metod, aby poczuć się komfortowo dzięki interfejsowi Word / VBA. Po zakończeniu będziesz mieć cały dokument wypełniony powtórzeniami „Hello World!”
Uruchamianie programu z Worda jest dość łatwe. Po prostu wybierz makro po kliknięciu Makro ikona pod Widok patka.
Aby uruchomić go z edytora, najpierw otwórz edytor Visual Basic, a następnie albo kliknij ikonę Uruchom, albo wybierz Uruchom z menu. Oto, gdzie różnica między Dokumentem a Programem może stać się dla niektórych myląca. Jeśli dokument został zminimalizowany lub być może okna są tak ustawione, że edytor go obejmuje, możesz klikać ikonę Uruchom w kółko i nic się nie dzieje. Ale program działa! Przejdź ponownie do dokumentu i zobacz.
Pojedyncze przejście przez program jest prawdopodobnie najbardziej przydatną techniką rozwiązywania problemów. Odbywa się to również z edytora Visual Basic. Aby to wypróbować, naciśnij F8 lub wybierz Wkroczyć z Odpluskwić menu. Pierwsza instrukcja w programie Pod instrukcja jest podświetlona. Naciśnięcie F8 powoduje wykonywanie instrukcji programu pojedynczo, aż do zakończenia programu. Możesz dokładnie zobaczyć, kiedy tekst zostanie dodany do dokumentu w ten sposób.
Istnieje wiele bardziej dopracowanych technik debugowania, takich jak „Punkty przerwania”, badanie obiektów programu w „Natychmiastowym oknie” oraz użycie „Okna obserwacyjnego”. Ale na razie pamiętaj, że jest to podstawowa technika debugowania, której będziesz używać jako programisty.
Programowanie obiektowe
Chodzi o następną lekcję klasową Programowanie obiektowe.
„Whaaaattttt!” (Słyszę, jak jęczysz) „Chcę tylko pisać programy. Nie zapisałem się na stanowisko informatyka! ”
Nie bój się! Są dwa powody, dla których jest to świetny ruch.
Po pierwsze, w dzisiejszym środowisku programistycznym po prostu nie można być skutecznym programistą bez zrozumienia pojęć programistycznych. Nawet nasz bardzo prosty, jednowierszowy program „Hello World” składał się z obiektu, metody i właściwości. Moim zdaniem niezrozumienie obiektów jest największym pojedynczym problemem początkujących programistów. Więc skonfrontujemy bestię z przodu!
Po drugie, sprawimy, że będzie to możliwie bezbolesne. Nie będziemy mylić cię z mnóstwem żargonu informatycznego.
Ale zaraz potem wrócimy do pisania kodu programistycznego z lekcją, w której tworzymy makro VBA, którego prawdopodobnie możesz użyć! Udoskonalamy ten program nieco bardziej w następnej lekcji i kończymy pokazując, jak zacząć korzystać z VBA z kilkoma aplikacjami jednocześnie.