Doc-To-Help Standard Template

Transkrypt

Doc-To-Help Standard Template
Użycie Visual Basic for
Applications ("VBA")
Przegląd
SEE z modułem VBA Developer
SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie
programy zwane "makrami".
Należy wyróżnić:
– Procesy przetwarzania specyficzne dla SEE, takie jak zarządzanie elementami programu SEE
(symbole, połączenia, itd.)
– nie-specyficzne procesy przetwarzania (zarządzanie oknami, zarządzanie plikami i folderami,
operacje na tekstach, itd.)
Notka 1: Dokumentacja rozpatruje wyłącznie wybrane szczegóły obiektów SEE. Ogólne zasady
funkcjonowania VBA dostępne są w dokumentacji Microsoft.
Notka 2: Integracja funkcji specyficznych dla SEE została zaprojektowana zgodnie z regułami VB aby
ułatwić pracę w dwoistym układzie "Użytkownik-Programista." Programista VB ma możność wykorzystać
globalny obiekt "SEEExpert" (aplikacja See), który reprezentuje w swojej strukturze różnorodne
możliwości VBA.
Doc-To-Help Standard Template
Użycie Visual Basic for Applications ("VBA")  1
Notka 3: Użytkownik otrzymuje dostęp do zbioru funkcji, takich jak:
– Wstawiania elementów
– Modyfikacji elementów
– Wyszukiwania elementów
– Zarządzania zdarzeniami (przed/po oznaczaniu, otwarcie/zamkniecie schematu, itp.).
Zarządzanie Makrami
SEE z modułem VBA Developer
Polecenie Narzędzia > Makro > Makra daje dostęp do makr w celu ich wykonania lub modyfikacji poprzez
Visual Basic Editor.
Polecenie Narzędzia > Makr > Visual Basic Editor daje natychmiastowy dostęp do Visual Basic Editor.
W tym edytorze znajdują się narzędzia do tworzenia i modyfikacji makr.
Pojedyncze makro odpowiada pojedynczej procedurze o zakresie "Public" zdefiniowanej w edytorze.
Makra mogą być przypisane do:
– aktywnego projektu (gałąź Project, folder: [folder instalacji]\SEE_env\[folder środowiska]\Macros
– aktywnego środowiska (gałąź Enviroment przypisanego do środowiska wybranego dla otwartego
projektu, [folder instalacji]\Projekty\[nazwa projektu].seeprj)
– programu SEE (gałąź Software nie przypisane ani do projektu ani środowiska tylko do aplikacji,
folder: [folder instalacji]\SEE_SOFT\ENV\Macros)
Notka: Po opis użytkowania edytora języka proszę sięgnąć po dokument pomocy dla Microsoft Visual
Basic Editor.
Zarządzanie Makrami > Przykład
 Polecenie Narzędzia > Makro > Makra
Dialog Makra jest wyświetlony.
Aby stworzyć nowe makro:
 Wybierz położenie makra (w strukturze) z listy dostępnej w polu “Makro:”
 Wpisz nazwę makra.
 Wpisz, opcjonalnie, opis przeznaczenia makra.
 Kliknij przycisk Nowe.
Otworzy się Visual Basic Editor.
 Wprowadź procedurę i zapisz klikając w
ikonę.
 Zamknij Visual Basic Editor.
Aby uruchomić uprzednio zapisane makro:
 Polecenie Narzędzia > Makro > Makra.
 Wybierz położenie makra (w strukturze), to samo, które zostało wybrane przy jego
utworzeniu.
 Wybierz nazwę makra z ramki Nazwa makra.
 Kliknij przycisk Uruchom.
Automatyczny start makra wraz z programem
(nie działa w wersji programu V4)
Można uruchamiać makra jednocześnie ze startem modułu Schematy lub podczas zamykania dodatków.
Służy do tego plik tekstowy "auto_mac.ini".
Plik ma następującą ścisłą strukturę:
[\GENERAL]
iNbMacros = N
aMacroName1 = "Project, ModulName.MacroName1"
aMacroName2 = "Software, ModulName.MacroName2 "
aMacroName3 = "Environment, ModulName.MacroName3"
...
aMacroNameN = "..., ModulName.MacroNameN"
[\GENERAL]
Notka: W składni powyżej ‘ModulName.’ można pominąć o ile ‘MacroName’ jest unikalną nazwą dla całej
gałęzi Project, Enviroment lub Software
Doc-To-Help Standard Template
Użycie Visual Basic for Applications ("VBA")  3
Jak powyżej można uruchomić makro z "Projektu", "Środowiska", "Programu".
Plik "auto_mac.ini" musi się znajdowac w odpowiednim folderze (projektu środowiska lub programu,
zobacz powyżej).
Wszystkie wymienione makra powinny być umieszczone w tym samym module VBA.
Plik „auto_mac.ini” zwrócony z PLC aby umożliwić uruchomienie makr z plików. MAC z odpowiednich
lokalizacji (może to być projekt, środowisko lub plik w określonej lokalizacji) musi być w następującym
formacie:
[\GENERAL]
iNbMacros = 3
aMacroName1 = "PROJECT, nazwa_makra_do_uruchomienia_z_projektu"
aMacroName2 = "ENVIRONMENT, nazwa_makra_do_uruchomienia_z_srodowiska"
aMacroName3 = "FILE, folder + nazwa + "#" nazwa_makra_do_wykonania_z_pliku"
[\GENERAL]
Notka1: Plik “Environment.ini” znajduje się w folderze środowiska. Przy każdorazowym uruchomieniu
SEE, aplikacja wpisuje "bExecuteEvents" makro, zawarte w tym pliku “.ini”, z wartością “1”.
Notka2: Plik "auto_mac.ini" pozwala uruchomić makro utworzone w bieżącej sesji SEE i usunąć je po jego
wykonaniu, niezależnie dla każdego z makr z listy. Po zamknięciu zewnętrznego dodatku (Add-On),
makra są ponownie odczytywane, oprócz tych, dla których "bUpdateMacrosList" nie jest użyte.
Automatyczny start makra > Przykład
Przykład "auto_mac.ini" pliku:
[\GENERAL]
iNbMacros = 1
aMacroName1 = "Project,MajPlc"
[\ON_EXIT]
aDeleteFile1 = "MajPlc.mak"
aDeleteFile2 = "MajPlc.frm"
Jeśli w poleceniu aDeleteFile
1. Jest wpisana ścieżka: to plik dostępny w tym folderze jest usuwany.
2. Tylko nazwa pliku: plik z foldera Macros aktywnego projektu jest usuwany.
Notka: Więcej informacji w uzupełniającej pomocy zapisanej na CD-ROM. Należy otworzyć dokument
SEEapp.chm z foldera \Doc\VBAHelp\.
VBA: Zarządzanie zdarzeniami
Przegląd
Są główne typy "zdarzeń", które mogą być oprogramowane w Visual Basic:
– Kiedy obiekt jest tworzony
– Kiedy obiekt jest otwierany
– Kiedy jest zachowywany
– Kiedy obiekt jest modyfikowany
Obiektem może być projekt, schemat, symbol, listwa itd.
Kolejnym typem są zdarzenia modyfikacji atrybutów CAE (zanim i po tym jak jest wykonana przez
użytkownika lub program).
Zdarzenie może być wywołane przed (Before) poprzedzając operację lub po (After) następując
bezpośrednio po operacji.
Notka1: Zdarzenie jest pojęciem z języka programowania VBA
Notka2: Zdarzenia są zarządzane tylko dla makr przypisanych do środowiska.
Aby oprogramować zdarzenie SEE należy w gałęzi Enviroment w module SEE_Events dodać procedurę.
Składnia nazwy procedury zawiera trzy zmienne elementy SEE_Events_ [Obiekt][Wywołanie][Operacja]
np: SEE_Events_ProjectBeforeClose
Poniżej ogólnie opisane typy zdarzeń wraz z argumentami
Create(A_Sheet As SEESheet, A_Continue As Boolean)
To zdarzenie występuje przy utworzeniu nowego schematu.
Jest włączone kiedy schemat jest inicjalizowany i przed jego wyświetleniem.
Doc-To-Help Standard Template
Użycie Visual Basic for Applications ("VBA")  5
Open(A_Sheet As SEESheet, A_Continue As Boolean)
To zdarzenie występuje przy otwieraniu istniejącego schematu.
Jest włączone kiedy schemat jest inicjalizowany i przed jego wyświetleniem.
Save(A_Sheet As SEESheet, A_Continue As Boolean)
Zwraca wartość logiczną zmiennej "A_Continue" równą "True" lub "False".
Jeśli False zostało zwrócone to schemat nie będzie zapisany i jeśli miał być zamknięty po zapisie, to
operacja jest anulowana (schemat pozostaje otwarty).
Rename(A_Sheet As SEESheet, A_Continue As Boolean, A_Edit As Boolean)
Zwraca wartość logiczną zmiennej "A_Continue" równą "True" lub "False".
Jeśli False zostało zwrócone to schemat nie zmieni numeru i jeśli miał być zamknięty po zmianie, to
operacja jest anulowana (schemat pozostaje otwarty).
Close(A_Sheet As SEESheet, A_Continue As Boolean)
Zwraca wartość logiczną zmiennej "A_Continue" równą "True" lub "False".
Jeśli False zostało zwrócone to schemat nie będzie zamknięty.
Before
To zdarzenie występuje poprzedzając odpowiednio: otwarcie, zapis, zmianie i zamknięciu.
After
To zdarzenie występuje bezpośrednio po odpowiednio: otwarciu, zapisie, zmianie i zamknięciu
Notka: Zdarzenie SEE_Events_ SheetBeforeClose(A_Sheet As SEESheet, A_Continue As Boolean)
zostanie wywołane przed zamknięciem schematu
Zdarzenia wyzwalane zmianą atrybutów CAE
QueryChange()
QueryChange (A_EditType As Boolean, A_Parameters As SEEEventParameters, A_Continue As
Boolean, A_Edit As Boolean)
To zdarzenie występuje przy modyfikacji zastosowanej na wartości oznaczenia, i zanim zaszło
zatwierdzenie.
Zdarzenie zakłada następujące argumenty:
– A_EditType:
Na wejściu: pokazuje wartość flagi "Zmiana oznaczenia dla Mastera i Slave’ów".
Na wyjściu: Jeśli ustawiony "True", wskazuje, że zmiana oznaczenia zastosuje się do wszystkich symboli
posiadających to oznaczenie.
– A_Parameters:
Klasa (EventParameters) zależna od tego dla jakiego symbolu/połączenia wywołano zmianę oznaczenia
zawierająca jako jedną ze składowych atrybut wywołany przez modyfikację.
– A_Continue:
Jeśli "True", przechodzi i kontynuuje standardowe przetwarzanie SEE po wykonaniu kodu zdefiniowanego
przez użytkownika w zdarzeniu QueryChange.
Jeśli "False", anuluje proces.
– A_Edit:
Na wejściu: jeśli ustawiony na "True", wskazuje że okno „Właściwości CAE” będzie wyświetlone.
Na wyjściu: Jeśli "False": anuluje wyświetlanie okna "Właściwości CAE".
QuerySave()
QuerySave (A_EditType As Boolean, A_Parameters As SEEEventParameters, A_Continue As Boolean).
To zdarzenie występuje zanim zostanie zachowana modyfikacja na wartości oznaczenia. Wszystkie
– A_EditType:
Na wejściu: pokazuje wartość flagi "Zmiana oznaczenia dla Mastera i Slave’ów".
Na wyjściu: Jeśli ustawiony "True", wskazuje, że zmiana oznaczenia zastosuje się do wszystkich symboli
posiadających to oznaczenie.
– A_Parameters:
Klasa (EventParameters) zależna od tego, dla jakiego symbolu/połączenia wywołano zmianę oznaczenia
zawierająca, jako jedną ze składowych atrybut wywołany przez modyfikację.
– A_Continue:
Jeśli "True", przechodzi i kontynuuje standardowe przetwarzanie SEE po wykonaniu kodu zdefiniowanego
przez użytkownika w zdarzeniu QuerySave.
Doc-To-Help Standard Template
Użycie Visual Basic for Applications ("VBA")  7
Jeśli "False", anuluje zmianę i jej zachowanie (odpowiednik przycisku Anuluj w dialogu Właściwości CAE).
Wyzwalacze (Triggering) zdarzenia
Te zdarzenia będą automatycznie włączane, kiedy:
– Dialog Właściwości CAE jest wyświetlany, także dla Właściwości Listwy i Eksploratora listew.
– Nowa wartość oznaczenia jest wyznaczana i dotyczy to również procesów w odmiennym czasie.
– Przetwarzanie przycisku Następny w oknie Właściwości CAE. Program włączy zdarzenie po raz
drugi – możliwość nadawania oznaczenia (symbolu, złącza pinu, kabla) poprzez reguły użytkownika
w miejsce mechanizmu odpowiedniego dla SEE.
Zawartość klasy EventParameters
Każda z klas zawiera parę kolekcji AttributeCollection i EquipmentCollection. Poniżej opis zawartości
kolekcji AttributeCollection.
Notka: Klasa jest pojęciem z języka programowania VBA. Kolekcja jest obiektem języka programowania
VBA.
 Zacisk listwy:
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE dla listwy zaciskowej.
 Atrybuty CAE dla zacisku.
 Listwa zaciskowa (w Eksploratorze listew):
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE dla listwy zaciskowej.
 Pin (końcówka) złącza:
Kolekcja zawiera obowiązkowo:
– W przypadku pary pinów:
 Atrybuty CAE męskiego pinu.
 Atrybuty CAE żeńskiego pinu.
 Atrybuty CAE męskiego złącza
 Atrybuty CAE żeńskiego złącza
– W przypadku pojedynczych pinów:
 Atrybuty CAE pinu (męskiego lub żeńskiego).
 Atrybuty CAE złącza (męskiego lub żeńskiego).
 Dla żyły:
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE kabla.
 Atrybuty CAE przetwarzanej żyły + pozostałe żyły zawarte w wyborze.
 Dla logicznego kabla:
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE kabla.
 Dla końcówki symbolu:
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE końcówki.
 Atrybuty CAE symbolu, do którego końcówka należy.
 Dla symboli:
Kolekcja zawiera obowiązkowo:
 Atrybuty CAE symbolu.
Zdarzenia dotyczące końcówek symboli
SymbolConnectionPointQueryChange
To zdarzenie występuje zanim zostanie zachowana modyfikacja na wartości numeru końcówki symbolu
SymbolConnectionPointAfterSave
To zdarzenie występuje aktualizacji końcówek symbolu czarnej skrzynki. Pozwala edytować końcówki
symbolu, w trakcie aktualizacji końcówek, podłączonych do połączeń
Doc-To-Help Standard Template
Użycie Visual Basic for Applications ("VBA")  9