Centrum skryptów - Microsoft Office

Jak utworzyć nowy folder w programie Microsoft Outlook?

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.

Jak utworzyć nowy folder w programie Microsoft Outlook?

Cześć Skrypciarze! Pytanie

Cześć, Skrypciarze! Jak utworzyć nowy folder w programie Microsoft Outlook?

-- TY

Cześć Skrypciarze! Odpowiedź

Cześć, TY. Jak może wiesz, teraz jest bardzo gorący okres w Microsoft. W końcu wczoraj o północy było oficjalne wydanie najbardziej oczekiwanego oprogramowania wszech czasów – skryptu tworzącego nowy folder w programie Microsoft Outlook!

Ach nie, przepraszam. Ten skrypt wychodzi dopiero dziś. Wczoraj o północy wydaliśmy grę Cześć 2. Albo może Słucham 5. Już wiem! Halo 3. Cóż, trudno się zorientować w tych nazwach, kiedy ma się przed oczami coś tak pasjonującego, jak skrypt tworzący nowy folder w programie Outlook. Do celów marketingowych nazwałem go Microsoft Office Outlook Folder Creator 1.0:

Const olFolderInbox = 6



Set objOutlook = CreateObject("Outlook.Application")

Set objNamespace = objOutlook.GetNamespace("MAPI")

Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)



Set objNewFolder = objFolder.Folders.Add("Scripts Received")

Zobaczmy teraz, jak działa Microsoft Office Outlook Folder Creator 1.0. Najpierw definiujemy stałą o nazwie olFolderInbox, której wartość ustawiamy na 6; użyjemy jej podczas łączenia się s folderem Inbox programu Microsoft Outlook. Po zdefiniowaniu stałej tworzymy wystąpienie obiektu Outlook.Application, a następnie używamy metody GetNamespace, by połączyć się z obszarem nazw MAPI. (Przypominamy, że MAPI jest jedynym obszarem, z którym można się połączyć, co nie zmienia faktu, że nie da się tego zrobić automatycznie.)

Teraz możemy za pomocą poniższego wiersza kodu zwrócić odwołanie do obiektu (objFolder) folderu Inbox:

Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)

Teraz możemy utworzyć nowy folder, po prostu wywołując metodę Add (jeden ze składników kolekcji Folders elementu Inbox), podając jako jedyny parametr nazwę nowego folderu:

Set objNewFolder = objFolder.Folders.Add("Scripts Received")

I już! Nasza skrzynka odbiorca ma już nowy podfolder o nazwie Scripts Received.

Jak zaznaczyliśmy, nasz nowy folder jest podfolderem skrzynki odbiorczej. I dobrze, chyba że chodzi o utworzenie folderu tego samego poziomu, co skrzynka odbiorcza. W takim przypadku należy zastosować program Microsoft Office Outlook Folder Creator 2.0:

Const olFolderInbox = 6



Set objOutlook = CreateObject("Outlook.Application")

Set objNamespace = objOutlook.GetNamespace("MAPI")

Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)



strFolderName = objFolder.Parent

Set objMailbox = objNamespace.Folders(strFolderName)



Set objNewFolder = objMailbox.Folders.Add("Scripts Received")

Jedynym problemem jest tutaj połączenie się z folderem Mailbox programu Outlook zamiast folderu Inbox. Z tego co wiemy, nie ma na to prostego sposobu; nie mamy pojęcia, jaka stała byłaby do tego wymagana. Dlatego też musimy zastosować trik – połączymy się z folderem Inbox, a potem sprawdzimy, jaki jest jego folder nadrzędny (Parent):

strFolderName = objFolder.Parent

Po przechowaniu tej wartości w zmiennej strFolderName, możemy za jej pomocą utworzyć odwołanie do obiektu folderu Mailbox:

Set objMailbox = objNamespace.Folders(strFolderName)

Fajnie, ale jak utworzyć nowy folder w folderze Mailbox? Tak samo jak poprzednio w przypadku folderu Inbox:

Set objNewFolder = objMailbox.Folders.Add("Scripts Received")

I już.

Jeszcze jedno. Wiemy, że dwa poprzednie programy dają wielką siłę. Siły tej łatwo nadużyć, nawet nieświadomie. Dlatego też przygotowaliśmy coś, co pozwoli ją kontrolować – program Microsoft Office Outlook Folder Deletor 1.0, służący, jak sama nazwa wskazuje, do usuwania folderów programu Outlook:

Const olFolderInbox = 6



Set objOutlook = CreateObject("Outlook.Application")

Set objNamespace = objOutlook.GetNamespace("MAPI")

Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)



strFolderName = objFolder.Parent

Set objMailbox = objNamespace.Folders(strFolderName)



Set objNewFolder = objMailbox.Folders("Scripts Received")

objNewFolder.Delete

To prawda – jest to bardzo podobne do skryptu tworzącego podfolder w folderze Mailbox. Jest jednak parę różnic. Na przykład po połączeniu z folderem Mailbox używamy poniższego wiersza kodu do utworzenia odwołania do biektu podfolderu Scripts Received:

Set objNewFolder = objMailbox.Folders("Scripts Received")

A następnie wywołujemy metodę Delete, by go usunąć:

objNewFolder.Delete

Mamy nadzieję, że to zaspokaja Twoje potrzeby, TY, przynajmniej do czasu ukazania się pudełkowej wersji zestawu Microsoft Office Outlook Folder Management Set Ultimate Edition Gold Toolkit.

 Do początku strony Do początku strony

Centrum skryptów - Microsoft Office