2017-08-22 7 views
1

J'essaye de configurer un VBS pour créer une réunion dans un calendrier spécifique (pas par défaut) quand un bouton de commande est pressé. Le code que j'ai fonctionne mais crée la réunion dans le calendrier par défaut. J'ai essayé de tromper avec, mais je suis nouveau à VBS (principalement utilisé VBA). Je sais que VBA et VBS sont similaires, donc je suis sûr que quelque chose de petit doit être modifié. Je souhaite que les réunions soient placées dans un calendrier nommé Test, qui se trouve sous Mes calendriers.Outlook 2010 VBS comment ajouter une réunion à un calendrier spécifique

Sub commandbutton1_Click() 

If CommandButton1 = False Then 
Dim objOL 'As Outlook.Application 
Dim objAppt 'As Outlook.AppointmentItem 

Const olAppointmentItem = 1 
Const olMeeting = 1 
Const olFree = 0 


Set objOL = CreateObject("Outlook.Application") 
Set objAppt = objOL.CreateItem(olAppointmentItem) 

objAppt.Subject = "My Test Appointment" 
objAppt.Start = #8/24/17 3:50:00 PM# 
objAppt.Duration = 1 
objAppt.Location = "Followup" 
objAppt.Body = "Test Verbiage" 
objAppt.ReminderMinutesBeforeStart = 1 
objAppt.BusyStatus = olFree 
objAppt.Save() 
Set objAppt = Nothing 
Set objOL = Nothing 

End If 


End Sub 
+0

Sur une note off - Je suis sous l'impression qu'un code VBA ne peut pas être exécuté dans Outlook via un bouton de commande. Si je me trompe, faites le moi savoir car je préfère utiliser VBA beaucoup plus. Merci! – Rami

+1

Quelle partie de votre code spécifie l'emplacement de la réunion? – KS7X

+0

Est-ce un calendrier partagé? vous devez spécifier le nom du calendrier - – 0m3r

Répondre

0

Essayez ceci:

Sub commandbutton1_Click() 

If CommandButton1 = False Then 

Const olAppointmentItem = 1 
Const olMeeting = 1 
Const olFree = 0 

Set objOutlook = CreateObject("Outlook.Application") 
Set objNamespace = objOutlook.GetNamespace("MAPI") 

Set objDictionary = CreateObject("Scripting.Dictionary") 

objDictionary.Add "August 24, 2017", "My Test Appointment" 


colKeys = objDictionary.Keys 

For Each strKey in colKeys 
dtmApptDate = strKey 
strApptName = objDictionary.Item(strKey) 

Set objAppt = objOutlook.CreateItem(olAppointmentItem) 
objAppt.Subject = strApptName 
objAppt.Start = dtmApptDate & " 3:50 PM" 
objAppt.Duration = 1 
objAppt.Location = "Followup" 
objAppt.Body = "Test Verbiage" 
objAppt.ReminderSet = True 
objAppt.ReminderMinutesBeforeStart = 1 
objAppt.AllDayEvent = True 
objAppt.BusyStatus = olFree 
objAppt.Save 
Next 


End If 


End Sub 
+0

Juste donné un coup de feu. Je me donne une erreur: appel de procédure non valide ou argument: 'objNamespace.GetDefaultFolder' – Rami

+1

Retirez le Set objCalendar = objNamespace.GetDefaultFolder (olFolderCalendar) et essayez à nouveau Odd, mais avec moi rien de mal est arrivé. J'ai modifié le script d'origine. Inclut également les sous-chaînes End if et End – Malbordio

+0

Ok, le code s'exécute, mais nous sommes de retour dans la même position. Une réunion sera créée mais elle est créée dans le calendrier par défaut. J'ai besoin d'être fait dans le calendrier que j'ai créé nommé Test. – Rami