Wszystkie aplikacje biurowe firmy Microsoft obsługują automatyzację. Mogą działać jako serwery COM i być używane z wbudowanych w dokument lub zewnętrznych skryptów. Możesz więc zapisywać dane do dokumentu Excel ze skryptu vba.
Niezbędny
- - zainstalowana aplikacja Microsoft Excel;
- - Edytor Visual Basic / edytor tekstu.
Instrukcje
Krok 1
Utwórz kontener do hostowania kodu vba. Jeśli skrypt ma być osadzony w dokumencie, prześlij odpowiedni plik do programu Microsoft Excel. Otwórz Edytor Visual Basic, naciskając Alt + F11. W razie potrzeby utwórz nowy moduł (pozycja Moduł w menu Wstaw). Otwórz jeden z modułów lub formularzy. Utwórz procedurę obsługi dla kontrolki formularza lub po prostu dodaj procedurę do modułu. Na przykład:
Podtest ()
Napis końcowy
Jeśli tworzysz samodzielny skrypt (tzn. będzie działał pod Windows Script Host), po prostu utwórz plik z rozszerzeniem vbs w edytorze tekstu.
Krok 2
W skrypcie osadzonym w dokumencie dodaj deklaracje zmiennych na początku procedury:
Dim oWorkbook As Excel. Workbook
Dim oSheet As Excel. Worksheet
Pierwszy służy do przechowywania odwołania do obiektu skoroszytu programu Excel, a drugi do arkusza.
Krok 3
Zainicjuj zmienne z odwołaniami do obiektów. W skrypcie vbs utwórz obiekt aplikacji Excel (spowoduje to uruchomienie Excela jako serwera COM):
Ustaw oApplication = CreateObject ("Excel. Application").
W skrypcie osadzonym w dokumencie zamiast zmiennej oApplication, która odwołuje się do bieżącego obiektu aplikacji, zostanie użyty globalny obiekt Application. Wybierz istniejący lub otwórz nowy skoroszyt programu Excel. Na przykład:
Ustaw oSkoroszyt = Aplikacja. Skoroszyty (1)
Ustaw oWorkbook = Application. Workbooks ("Skoroszyt1")
Ustaw oWorkbook = oApplication. Workbooks. Open ("D:\vic\odpowiedni\tmp\test.xls")
Uzyskaj link do żądanego arkusza książki:
Ustaw oArkusz = oAplikacja. Arkusze ("Arkusz1")
Krok 4
Zapisuj dane do Excela ze skryptu vba. Użyj kolekcji Cells, która jest właściwością obiektu arkusza skoroszytu, do którego odniesiono się w poprzednim kroku, w zmiennej oSheet. Przykład zapisania ciągu do jednej komórki może wyglądać tak:
oSheet. Cells (1, 1) = "Ciąg zostanie zapisany do komórki A1"
Krok 5
W skrypcie vbs dodaj kod, aby zapisać dane i zamknąć aplikację Excel:
oSkoroszyt. Zapisz
oAplikacja. Zakończ
Krok 6
Zapisz i wykonaj skrypt. W Edytorze Visual Basic naciśnij klawisze Ctrl + S, a następnie umieść kursor w treści procedury i naciśnij klawisz F5. Zapisz skrypt vbs na dysku, a następnie uruchom go jako zwykły plik.