W dzisiejszym artykule chciałbym przedstawić jak wykonać mapowanie danych z EPDM tak aby pokazywały się w dokumencie WORD. Zasada jest prosta im mniej użytkownicy uzupełniają ręcznie tym mniej miejsca na pomyłki.
W naszym przykładzie będziemy tworzyć bardzo przyjemny dokument a mianowicie „Wniosek urlopowy”. Zaczniemy od przygotowania naszego szablonu pliku WORD tak aby sprawdzić jakie dane będą nam potrzebne do wygenerowania wniosku urlopowego. W miejscach kresek będziemy wstawiać zmapowane pola. Oczywiście wygląd naszego dokumentu to rzecz gustu.
Jak widać powyżej aby wypełnić nasz wniosek potrzebujemy następujące dane:
Numer wniosku | Generowany z numeru seyjnego |
Miejscowość | Lista miejscowości |
Dnia | Dzisiejsza data (z możliwością zmiany) |
Data od | Data początkowa urlopu (wybierana) |
Data do | Data końcowa urlopu (wybierana) |
Ilość dni | Ile dni ma mieć urlop (ręcznie) |
Rodzaj urlopu | Lista |
Osoba wnioskująca o urlop | Automatycznie |
Zaczynamy od zdefiniowania zmiennych w module administracji EPDM. Potrzebujemy zmienne dla wszystkich pól wymienionych w tabelce powyżej. Dla przykładu pokaże jak wygląda mapowanie dla zmiennej DATA:
Zwróćmy uwagę aby odpowiednio zmapować zmienną z blokiem (CustomProperty) i atrybutem oraz na to aby nasze mapowanie obejmowało wybrane przez nas rozszerzenie pliku (DOC, DOCX).
Następnie do wcześniej utworzonego szablonu WORD dodajemy nowo utworzone atrybuty. Uruchamiamy WORD i otwieramy plik naszego szablonu. Następnie zaznaczamy miejsce gdzie chcemy „podłączyć” zmapowaną zmienną i klikamy WSTAWIANIE → SZYBKIE CZĘŚCI → POLE
Z lewej listy „Nazwy pól” wybieramy DocProperty i na liście Właściwość powinniśmy zobaczyć nasze nowe atrybuty. Powinniśmy ale jeśli do tego konkretnego dokumentu WORD nigdy taki atrybut nie był dodany (nigdy nie miał żadnej wartości). Nie zobaczymy takiego atrybutu na liście Właściwości.
Standardową drogą jest wgranie pliku do przechowalni PDM i poprzez kartę danych zapisanie tych własności. Jednak często karta danych dla szablonu pliku WORD jest inna niż karta danych pliku wyjściowego i żeby wykonać taką operację trzeba dodawać nowe pola do karty danych szablonu WORD. Dlatego prościej jest zamknąć plik w WORD, następnie kliknąć na nim prawym przyciskiem myszy i kliknąć we Właściwości.
Następnie przechodzimy na zakładkę Niestandardowe
i dodajemy po kolei nasze atrybuty. Wpisujemy Nazwę atrybutu, następnie jego Wartość ustawiamy np. na – i klikamy Dodaj. Gdy wykonamy tą operację dla wszystkich atrybutów powinniśmy mieć coś takiego.
Klikamy OK. Teraz nasze atrybuty są dodane do pliku (chociaż raz miały wartość). Teraz jeśli wejdziemy do pliku szablonu wniosku urlopowego, klikniemy WSTAWIANIE → SZYBKIE CZĘŚCI → POLE – zobaczymy, ze po wybraniu z listy Nazwy pól DocProperty w liście Właściwości będziemy mieć dostęp do nowych atrybutów. Teraz wystarczy je powstawiać do odpowiednich miejsc naszego pliku WORD. Po wstawieniu powinniśmy zobaczyć znak – (lub inny jeśli inny wpisaliśmy wcześniej).
OK prawie gotowe. Musimy jeszcze zaewidencjonować plik szablonu. Teraz jeśli skopiujemy taki plik do wybranej lokalizacji w EPDM i uzupełnimy jego kartę danych nasze własności zostaną dodane wewnątrz pliku WORD.
Sztuczka
Aby nie trzeba było ręcznie aktualizować pól w dokumencie WORD możemy użyć do tego makra. Gdy mamy otwarty nasz szablon wyewidencjonowany w EPDM i otwarty w WORD wchodzimy na zakładkę DEWELOPER i wchodzimy w MAKRA. Następnie klikamy Utwórz i wklejamy następujący kod:
Sub AutoOpen()
' AutoOpen Makro
Dim aStory As Range
Dim aField As Field
For Each aStory In ActiveDocument.StoryRanges
For Each aField In aStory.Fields
aField.Update
Next aField
Next aStory
End Sub
Klikamy Zapisz i Zamknij. Od tego momentu dokument będzie sam aktualizował wszystkie pola.
Ręczne kopiowanie pliku i uzupełnianie karty danych to trochę uciążliwe. Dlatego teraz skonfigurujemy szablon w EPDM, który pozwoli nam w łatwy sposób uzupełnić te dane i zapisać. Jednak tym zajmiemy się w kolejnym odcinku a dzisiaj w formie zajawki filmik jak to ma działać
<<FILMIK>>