Chciałbym uzyskać aktywny otwarty MailItem (bez względu na to, czy jest to nowa wiadomość, czy odebrana poczta). Muszę dodać trochę treści do tej poczty, gdy użytkownik uruchomi moje makro. Korzystam z programu Outlook 2003 i VBA.Praca z bieżącym otwartym e-mailem
Znalazłem: How do you get a reference to the mail item in the current open window in Outlook using VBA? Nie działa jednak, ponieważ TypeName(Application.ActiveWindow)
jest ustawiony na nic. Próbowałem też Set Mail = Application.ActiveInspector.currentItem
, ale to też nie działa.
Musi być coś, czego nie rozumiem na temat ActiveInspector rzeczy.
Zgodnie z wnioskiem, jest to procedura/makro znajduje się w dedykowanym module wywoływana, gdy użytkownik kliknie na przycisk MENU dodany w metodzie Application_Startup()
:
Sub myMacro()
Dim NewMail As Outlook.MailItem
Set NewMail = Application.ActiveInspector.currentItem
End Sub
Jeśli nic nie zostanie wybrane, to rzeczywiście "ActiveInspector" będzie "Nic". Nie wiem, jak "ActiveWindow" może być "Nic". Gdzie umieszczasz ten kod i jak go wywołujesz? –
Kod znajduje się w module, procedura jest wywoływana, gdy użytkownik uruchamia makro ręcznie lub klika przycisk menu uruchamiający makro. – dnLL
Czy możesz opublikować kod dla całej metody? –