107


Zarządzanie Excelem z poziomu innej aplikacji

W razie potrzeby możesz również zarządzać Excelem z poziomu innej aplikacji (np. programu napisanego w innym języku programowania lub procedury VBA w Wordzie). Przykładowo, możesz wykonać obliczenia w Excelu i zwrócić wynik do Worda.

Dokument Worda z tym przykładem - AutomatyzacjaExcela.docm, oraz skoroszyt Excela - ObliczaniePożyczki.xlsx.

***

Skoroszyt wykorzystany w procedurze Worda pokazano na rysunku 1.

0x01 graphic

Rysunek 1. Ten arkusz jest wykorzystywany przez procedurę VBA dokumencie Worda

Po otwarciu dokumentu Worda uruchom makro MakeLoanTabe.

Makro (procedura) wyświetla pytanie do użytkownika o wartość pożyczki i wstawia ją do komórki C7 arkusza (komórka nosi nazwę LoanAmount).

Przeliczenie arkusza powoduje aktualizację danych w tabeli zlokalizowanej w zakresie F3:I12 i aktualizuje wykres.

Dane wraz z wykresem są następnie kopiowane z obiektu Excela i wklejane do nowego dokumentu Worda. Wyniki pokazano na rysunku 2.

0x01 graphic

Rysunek 2. Procedura VBA Worda wykorzystała Excela do utworzenia tego dokumentu

***

1. Zapytanie o wartości

LoanAmt = InputBox("Kwota pożyczki?")

2. End

If LoanAmt = "" Then Exit Sub

3. Czyszczenie dokumentu

ThisDocument.Content.Delete

4. Tworzenie obiektu Sheet (procedura tworzy obiekt Worksheet Excela (którego nazwa symboliczna to Excel.Sheet) na podstawie istniejącego skoroszytu)

Wbook = ThisDocument.Path & "\ObliczaniePożyczki.xlsm"

Set XLSheet = GetObject(Wbook, "Excel.Sheet").ActiveSheet

5. Umieszczanie wartości na arkuszu

XLSheet.Range("LoanAmount") = LoanAmt

6. Aktualizację danych

XLSheet.Calculate

7. Wstawianie nagłówka strony

Selection.Style = "Tytuł"

Selection.TypeText "Kwota pożyczki: " & _

Format(LoanAmt, "#,##0 zł")

Selection.TypeParagraph

8. Kopiowanie danych z arkusza i wklejanie do dokumentu

XLSheet.Range("F3:I12").Copy

Selection.Paste

9. Kopiowanie wykresu i wklejanie do dokumentu

XLSheet.ChartObjects(1).Copy

Selection.PasteSpecial _

Link:=False, _

DataType:=wdPasteMetafilePicture, _

Placement:=wdInLine

10. Usuwanie obiektu

Set XLSheet = Nothing



Wyszukiwarka

Podobne podstrony:
107
finanse przedsiaebiorstw 2311 107, Finanse przedsiębiorstwa UG
107
107 108 607 pol ed01 2007
107
3 (107)
107
107 Wyznaczanie zależności współczynnika lepkości od temperatury
107? ConfigGuide
Nauczyciel i Szkola r2013 t2 (54) s101 107
107 XBZ2MQ7QL7RELHIFFCAXZQATM4ZYIQTCLIZ3BQY
101 107
Sprawozdanie 107 - Wyznaczanie zależności współczynnika lepkości od temperatury, Fizyka
100 107
Projekt wzmacniacza kl A z tranzystorem? 107
14 (107)
107 robocza, Fizyka 107
kro, ART 107 KRO, 2000
107 lektur streszczenia - podstawowa,gimnazjum,liceum, Nie-boska komedia - Zygmunt Krasiński, CZĘŚĆ

więcej podobnych podstron