Centrum Skryptów -Microsoft office

W jaki sposób umieścić nazwę użytkownika w stopce dokumentu Microsoft Word? Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

W jaki sposób umieścić nazwę użytkownika w stopce dokumentu Microsoft Word?

Cześć Skrypciarzu! W jaki sposób umieścić nazwę użytkownika w stopce dokumentu Microsoft Word?

-- RR

Cześć RR! Ciekawe pytanie. Najprawdopodobniej jest to pierwsze typu jak-umieścić-nazwę-użytkownika-w-stopce-dokumentu-Word jakie kiedykolwiek dostaliśmy (serio!). Ale to nieważne; spróbujmy znaleźć jakąś odpowiedź. Poza tym, możemy przy okazji bezczelnie zareklamować nadchodzącą serię webcastów w ramach Drugiego Tygodnia Skryptowania (j.ang.). Wśród dziesięciu webcastów zaplanowanych na ten tydzień: Jeśli Chcesz, Żeby Coś Było Zrobione Dobrze, Pozwól Microsoft Office Zrobić To Za Ciebie, czyli wprowadzenie do obsługi skryptów w aplikacjach Microsoft Office. Jeśli interesują Was skrypty w Wordzie, Excelu i/lub PowerPoincie, to spędzenie nad tym półtorej godziny może być całkiem owocne.

W chwili obecnej jednak chcesz tylko umieścić nazwę użytkownika w stopce dokumentu Word. Żaden problem; pokażemy Ci nawet dwa sposoby, jak to zrobić.

Jako Skrypciarze Microsoftu większość czasu spędzamy na pomaganiu administratorom systemu w pisaniu skryptów VBScript. Dlatego też zaczniemy od pokazania, jak wykonać do zadanie z pliku .vbs. Poniższy skrypt określa nazwę zalogowanego użytkownika, uruchamia wystąpienie Word, tworzy nowy dokument, a następnie w stopkę dokumentu wstawia nazwę zalogowanego użytkownika:

Set objNetwork = CreateObject("Wscript.Network")

strUser = objNetwork.UserName



Set objWord = CreateObject("Word.Application")

objWord.Visible = True

Set objDoc = objWord.Documents.Add()



objDoc.Sections(1).Footers(1).Range.Text = strUser

objDoc.Sections(1).Footers(1).Range.ParagraphFormat.Alignment = 1

Spodziewałeś się czegoś dużego i skomplikowanego? Prawdę mówiąc, obsługa skryptów Microsoft Word jest stosunkowo prosta, co widać na załączonym obrazku. Dwie pierwsze linie kodu w tym skrypcie pobierają nazwę użytkownika przy pomocy obiektu WSH Network, a następnie przechowują ją w zmiennej strUser. Kolejne trzy linie tworzą wystąpienie Microsoft Word, wyświetlają to wystąpienie na ekranie i tworzą pusty dokument.

W tym momencie potrzebujemy tylko jednej linii kodu, aby ustawić tekst stopki:

objDoc.Sections(1).Footers(1).Range.Text = strUser

Tytułem wyjaśnienia: stopki są przypisane do sekcji dokumentu; ponieważ ten dokument ma tylko jedną sekcję, wpisujemy Sections (1). Footers (1), co oznacza, że chcemy dodać tekst do głównej stopki w sekcji. Range.txt zaznacza, że chcemy ustawić właściwość stopki Text (tekst). Zaś strUser to oczywiście nazwa zalogowanego użytkownika.

Ostatnia linia wyśrodkowuje stopkę na stronie. Bo właściwie dlaczego nie?

Istnieje oczywiście możliwość, że plik .vbs z jakichś powodów Ci nie odpowiada i wolisz, żeby ten kod był dostępny jako makro Worda. W takim wypadku użyj tego kodu makra:

Sub FooterAdder()



Set objNetwork = CreateObject("Wscript.Network")

strUser = objNetwork.UserName



ThisDocument.Sections(1).Footers(1).Range.Text = strUser

ThisDocument.Sections(1).Footers(1).Range.ParagraphFormat.Alignment = 1

End Sub

Mamy tu procedurę FooterAdder (dodawanie stopki), która pobiera nazwę zalogowanego użytkownika i ustawia ją jako stopkę. Zauważ, że nie tworzymy tu wystąpienia Worda; jeśli masz uruchomione makro, to logika nakazywałaby sądzić, że masz również uruchomionego Worda. Co więcej, ten kod nie tworzy nowego dokumentu, tylko dodaje stopkę do bieżącego. W tym celu w kodzie znajduje się linia ThisDocument (ten dokument).

Przy okazji, wiemy, że zainteresowanie obsługą skryptów aplikacji Office jest spore. Mamy też nadzieję, że to zainteresowanie wzrośnie po Drugim Tygodniu Skryptowania. Obserwujcie uważnie Centrum Skryptowania w lutym. Zamierzamy bowiem uruchomić nowy dział – Przestrzeń Office – poświęcony obsłudze skryptów w Microsoft Office. W międzyczasie czekamy na kolejne pytania związane z Office. Postaramy się odpowiedzieć przynajmniej na część z nich zanim pojawi się Przestrzeń Office.

 Do początku strony Do początku strony


Centrum Skryptów -Microsoft office