poniedziałek, 13 października 2014

Interakcja pomiędzy aplikacjami MS Office (2 z ...wielu)

Kontynuując wpis z ubiegłego tygodnia chciałby krótko zaprezentować drugi typ wiązania a więc...

Wiązanie późne (late binding)

Wiązanie późne nie będzie wymagać od nas żadnych dodatkowych przygotowań i wskazywania zewnętrznych bibliotek wcześniej, niż dopiero na etapie edycji kodu. I tak, aby uruchomić aplikację MS Word i utworzyć w niej nowy dokument niezbędny kod wygląda następująco:

1Sub UruchomMSWordaLateBinding()
2 
3    Dim appWord As Object
4    Set appWord = CreateObject("Word.Application")
5    
6    appWord.Visible = True
7    appWord.Documents.Add
8    
9End Sub

Zalety późnego wiązania:
  • nie wskazujemy konkretnej wersji zewnętrznej biblioteki tak więc kod napisany w środowisku Office 2013 zadziała także skutecznie w starszych wersjach Office, np. 2007 czy 2010
  • biblioteka zostanie podłączona dopiero na etapie kompilacji kodu
Wady późnego wiązania:
  • utrudniona edycja przez co nie jesteśmy w stanie skorzystać z systemu IntelliSense edytując kod dla zewnętrznej aplikacji
  • zazwyczaj mniejsza wydajność kodu
  • brak do 'stałych' języka VBA dla zewnętrznej aplikacji (w miejsce np. WdInformation.wdActiveEndPageNumber niezbędne jest wstawienie numerycznego odpowiednika, tu: 3)

Dla osób zainteresowanych dogłębnie typami wiązań odsyłam do wyszukiwarki Google. Temat ten jest bardzo obszernie przedstawiony w wielu artykułach zarówno w języku polskim jak i językach obcych.

Na koniec chciałbym dodać, że zagadnienia interakcji omawiane są w czasie naszych kursów na poziomie średnio-zaawansowanym. Serdecznie zapraszam na nasze szkolenia z VBA organizowane w Warszawie, Krakowie i Wrocławiu.

Brak komentarzy:

Prześlij komentarz