Witam,
Jestem początkującym w VBA i szukając rozwiązanie nie znalazłem nic, co po zmianie lub korekcie kodu działało.
W czym rzecz:
- Po otrzymaniu wiadomości i czytaniu jej.
- Uruchamiam skrypt. a. InputBox - podanie nazwy Projektu i możliwość zaznaczenia czy kopiować załączniki. b. Tworzenie podkatalogu w skrzy Outlook o podanej nazwie (jest stworzony katalog główny Oferty). c. Przeniesienie do tego podkatalogu danej wiadomości. d. Tworzenie katalogu ( z podanej nazwy) na dysku wraz z podkatalogami (stałe nazwy: Dokumentacja; Glass; Oferta; Poczta). e. Kopiowanie wiadomości do podkatalogu Poczta. f. Przeniesienie załączników (jeżeli zostało to zaznaczone) do podkatalogu Dokumentacja. g. Dopisanie do pliku Excela nowego wiersza z danymi o nowej ofercie, lub wpisanie to do programu LISTS z pakietu Office 365.
Podpunkty C i E chyba powinny być zamienione miejscami.
Proszę o pomoc.
Moje skromne wypociny:
Sub Katalog()
Dim projekt As String
Dim CurrentFolder As Outlook.MAPIFolder
Dim Subfolder As Outlook.MAPIFolder
Dim List As New VBA.Collection
Dim Folders As Outlook.Folders
Dim Item As Variant
' Podanie nazwy Projektu
projekt = InputBox("Nr. i nazwa projektu")
' Tworzenie katalogów na dysku
MkDir "D:\OneDrive - .......\Oferty" & projekt
MkDir "D:\OneDrive - .......\Oferty" & projekt & "\Poczta"
MkDir "D:\OneDrive - .......\Oferty" & projekt & "\Dokumentacja"
MkDir "D:\OneDrive - .......\Oferty" & projekt & "\Oferta"
MkDir "D:\OneDrive - .......\Oferty" & projekt & "\Glass"
' Kopiowanie plików na dysku
FileCopy "D:\OneDrive - .......\Kalkulacja.xlsm", "D:\OneDrive - ......\Oferty" & projekt & "\Oferta" & projekt & ".xlsm"
FileCopy "D:\OneDrive - ........\Oferta.doc", "D:\OneDrive - ......\Oferty" & projekt & "\Oferta" & projekt & ".doc"
FileCopy "D:\OneDrive - ........\Tabela Cenowa.xls", "D:\OneDrive - ......\Oferty" & projekt & "\Oferta\Tabela Cenowa.xls"
' Tworzenie podkatalogu w Outlook z tym że musi być aktywny Folder w którym ma powstać. A ja chcę to wykonać z poziomu skrzynki odbiorczej.
List.Add Array(projekt, olFolderInbox)
Set CurrentFolder = Application.ActiveExplorer.CurrentFolder
Set Folders = CurrentFolder.Folders
For Each Item In List
Folders.Add Item(0), Item(1)
Next
End Sub