2011-09-30 19 views
5

Quando faccio manualmente un promemoria/appuntamento del calendario, posso quindi fare clic su "Invita partecipanti" e scegliere le persone da invitare e quindi fare clic su "Invia" e tutti riceveranno il promemoria/appuntamento del calendario.VBA non può inviare l'appuntamento del calendario

Ho il seguente codice per effettuare un promemoria programmaticamente, ma non verrà inviato ai destinatari previsti. Se apro il promemoria dopo che lo script è stato eseguito e clicco su "Invita i partecipanti", posso vedere che l'elenco è pieno delle persone a cui voglio inviare il promemoria, quindi non sono proprio sicuro del motivo per cui in realtà non sta inviando il promemoria a loro.

Qualcuno può far luce su questo per me?

+0

Hm, sì, capisco quello che vuoi dire! Ho appena provato. Non so perché non viene inviato! 1 domanda utile. –

+0

Lo stesso qui. Ho visto una proprietà chiamata "SendUsingAccount" in cui è possibile impostare come segue: _Application.Session.Accounts (1) _. Lo faresti prima di aver salvato l'oggetto. Non ha ancora avuto alcun effetto. Ho cambiato account (ad esempio l'ho provato sul mio pop3 invece del server Exchange aziendale). Inoltre, ho caricato un'istanza virtuale di Windows 2000 e Outlook XP e l'ho provato lì. Nessuna fortuna e nessuna risposta perché non ha funzionato. : P La cosa divertente è che su Windows 2000 ricevevo un popup di sicurezza sulla riga di invio che diceva "Questa app sta per provare a inviare qualcosa. Vuoi consentire?" Dico permesso, ma niente. – ray

+0

È meglio di quanto non sia riuscito a ottenere. La sicurezza macro indica che qualsiasi funzione di invio deve informare l'utente prima di inviarlo, quindi è necessario aver fatto qualcosa di semi-destro ... Speriamo che qualcuno si imbatta in questo e abbia una risposta per noi. – FizzBuzz

risposta

4

Un incontro è un tipo specifico di appuntamento, un appuntamento a cui altre persone sono invitate.

Per fissare un appuntamento per una riunione, è necessario fare molto più che invitare i partecipanti. È necessario impostare lo stato su "Riunione". Aggiungi questo al tuo codice:

Appt.MeetingStatus = olMeeting 

Inoltre, è possibile impostare un promemoria, ma non impostare un orario per il promemoria. Ad esempio,

Appt.ReminderMinutesBeforeStart = 30 

Infine, se si tratta di Outlook VBA, perché si sta utilizzando CreateObject? Dovresti usare l'Application Object nativo per ottenere tutti i tuoi oggetti.

cioè invece di

Set olApp = CreateObject("Outlook.Application") 

si usa

Set olApp = Outlook.Application 

HTH

+0

Molto apprezzato JP! Non avevo capito che avevo bisogno di impostarlo su un tipo di riunione. – FizzBuzz

+0

benvenuto, felice ha funzionato – JimmyPena

Problemi correlati