Ten samouczek nauczy Cię, jak definiować zmienne obiektów za pomocą instrukcji Set w VBA.
Definiowanie zmiennych obiektowych
Obiekty to podstawa Microsoft Office - bez obiektów nie możemy niczego osiągnąć. W programie Excel obiekty obejmują skoroszyt, arkusz lub obiekty zakresu. W programie Microsoft Word przykładami są obiekt Document lub Table. Każdy obiekt ma różne Nieruchomości oraz Metody które można zaprogramować do sterowania zachowaniem tego obiektu.
Deklarowanie zmiennej obiektowej
Zanim będziemy mogli odwoływać się do obiektu w kodzie, a tym samym kontrolować obiekt, musimy go zadeklarować. Możemy to zrobić za pomocą instrukcji Dim.
123456 | Dim wkb jako skoroszytDim wks jako arkusz roboczyDim Rng jako zakresDim wdDoc jako dokumentDim wdTbl jako tabelaDim shp jako kształt |
Ten Ciemny deklaracja może wystąpić wewnątrz procedury:
lub poza procedurą na poziomie modułu:
Jeśli zmienna jest zadeklarowana na poziomie modułu (poza procedurą), zmienna może być używana w całym module.
Jeśli zmienna obiektu jest zadeklarowana za pomocą instrukcji Public, zmienna może być używana w całym Projekcie VBA:
Ustalić wartość
Po zadeklarowaniu obiektu musisz przypisać wartość do obiektu. Należy to zrobić za pomocą Ustaw oświadczenie i można to zrobić tylko w ciągu Procedura.
12345 | Podzestaw obiektów()Ustaw wkb = ActiveWorkbookUstaw tyg = Arkusz1Ustaw rng = Zakres("A1:G4")Napis końcowy |
Uwaga: różni się to od przypisywania wartości do zmiennych niebędących obiektami. MUSISZ użyć instrukcji Set, aby przypisać obiekt do zmiennej. Jeśli tego nie zrobisz, otrzymasz błąd:
Po przypisaniu wartości do obiektu możesz napisać kod kontrolujący zachowanie lub manipulować obiektem.
Programowanie VBA | Generator kodu działa dla Ciebie!
Przykłady obiektów w Excelu
Obiekt skoroszytu
Po zadeklarowaniu zmiennej skoroszytu możesz przypisać skoroszyt do tego obiektu i użyć dostępnych właściwości i metod do manipulowania tym obiektem. W poniższym przykładzie zamierzamy zapisać skoroszyt.
123456789101112 | Podrzędny obiekt skoroszytu()'deklaruj obiekt skoroszytuDim wkb jako skoroszyt'przypisz niezapisany skoroszyt do obiektuUstaw wkb = Skoroszyty("Książka1")„zapisz skoroszyt”wkb.SaveAs "C:\dane\zeszyt testowy.xlsx"„zamknij skoroszyt”wkb.zamknij'pamiętaj, aby zwolnić przedmiotUstaw wkb = NicNapis końcowy |
Obiekt arkusza roboczego
Podobnie możesz manipulować arkuszem lub arkuszami roboczymi po zadeklarowaniu arkusza jako zmiennej. W poniższym przykładzie zmieniamy nazwy Sheet1 i Sheet2.
12345678910111213 | Podobiekt arkusza roboczego()Dim wks1 jako arkusz roboczyDim wks2 jako arkusz roboczy„zainicjuj obiekty”Ustaw wks1 = Arkusz1Ustaw wks2 = Arkusz2'zmień nazwy arkuszywks1.Name = "Klienci"wks2.Name = "Produkty"„ustaw obiekty na nic”wks1 = Nicwks2 = NicNapis końcowy |
Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!
Obiekt zakresu
Obiekt Range jest jednym z najbardziej przydatnych obiektów do manipulowania w programie Excel. W poniższym przykładzie pogrubiliśmy zakres od A1 do E1 i sformatowaliśmy go dolną krawędzią.
12345678910111213 | Obiekt podzakresu()Dim rng1 jako zakres„zainicjuj zakres”Ustaw rng = Zakres("A1:E1")'pogrub zakres i ustaw dolną granicęrng.Font.Pogrubienie = PrawdaZ rng1.Borders(xlEdgeBottom).LineStyle = xlCiągły.KolorIndeks = 0.OdcieńIOdcień = 0.Waga = xlcienkiKończyć zNapis końcowy |
Kształt obiektu
Do pracy z kształtami można również używać zmiennych obiektu.
123456789101112 | Sub AddShape()Przyciemnij shp jako kształt'stwórz kształtUstaw shp = ActiveDocument.Shapes.AddShape(msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)Z shp„zmień kolor i styl wnętrza”.Fill.ForeColor.RGB = RGB (255, 255, 0).Wypełnij.Stały„dostosuj uśmiech!.Dostosowania.Pozycja(1) = 0,07181Kończyć zNapis końcowy |