2009-03-21 7 views
3

J'essaie d'écrire une macro VBA dans Outlook qui me permettra d'afficher une interface utilisateur personnalisée pour entrer des informations sur les rendez-vous Outlook. J'ai ceci fonctionnant pour des rendez-vous existants, mais je voudrais pouvoir créer de nouveaux rendez-vous en ayant l'utilisateur cliquetez et faites glisser pour sélectionner une plage de temps et ensuite déclenchez la macro. (Cela fonctionne pour la commande New Appointment intégrée dans Outlook.) Je voudrais savoir comment obtenir par programmation la plage de temps sélectionnée afin que je puisse l'utiliser lors de la création du nouveau rendez-vous via la macro.Outlook VBA - Comment accéder à l'intervalle de temps actuellement sélectionné sur un calendrier?

Est-ce que quelqu'un sait comment accéder à cette information de VBA?

Répondre

0

Une meilleure façon est d'utiliser le SelectedStartTime et SelectedEndTime https://msdn.microsoft.com/en-us/library/office/ff869571.aspx

Public Sub GetNewAppt() 
    Dim exp As Explorer: Set exp = Outlook.ActiveExplorer 
    Dim mfCalFolder As MAPIFolder 
    Set mfCalFolder = exp.CurrentFolder 
    Dim vw As View: Set vw = exp.CurrentView 
    If vw.ViewType = olCalendarView Then 
     With vw 
      Dim objAppt As AppointmentItem 
      Set objAppt = mfCalFolder.Items.Add 
      objAppt.Start = .SelectedStartTime 
      objAppt.End = .SelectedEndTime 
      objAppt.Display 
     End With 
    End If 
End Sub 

je déclenche cela avec un bouton personnalisé sur le ruban. N'a pas testé ce 2007 ou avant.

Questions connexes