c++ - Outlook 插件 - 在 C++ 中获取当前选定的日历日期

标签 c++ com outlook-addin

我想以编程方式在我正在修补的 C++ outlook 插件中获取选定的日历日期。 这可能涉及使用 CalendarView 对象的 SelectedStartTime 和 SelectedEndTime 属性。

我搜索了 SO(和网络)并在 VB 和 C# 中找到了解决方案,但我无法将实现迁移到 C++。我能够获取 View 对象 - 但我不知道如何获取 calendarView 对象。

这是 C# 中的原始 SO 问题: Outlook Addin - Get current selected calendar date

这是我(到目前为止)在 C++ 中的实现。请注意,它是不完整的:

CComPtr<Outlook::_Explorer> spExplorer;
Outlook::MAPIFolder * pFolder;
CComPtr<Outlook::View> view;



hr = m_pHostApp->ActiveExplorer(&spExplorer);   
if (SUCCEEDED(hr) && spExplorer)
{
    hr =  spExplorer->get_CurrentFolder(&pFolder);
    if ((SUCCEEDED(hr)) && pFolder)
    {
        hr = pFolder->get_CurrentView(&view);
        if (SUCCEEDED(hr))
        {
            Outlook::OlViewType viewType;
            hr = view->get_ViewType(&viewType);
            if (SUCCEEDED(hr))
            {
                if (viewType == Outlook::olCalendarView)
                {
                      //the vb/C# solutions suggest that I need a calendar 
                      //view object here and somehow get its           
                      //SelectedStartTime and SelectedEndTime. 
                      //However I suspect there's no such object.. so I must be doing
                      //something wrong.
                }
            }
        }
    }
}

最佳答案

在 View 变量上调用 QueryInterface 以查询 CalendarView 接口(interface),然后使用 CalendarView::SelectedStartTime/SelectedEndTime 属性。

关于c++ - Outlook 插件 - 在 C++ 中获取当前选定的日历日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25472797/

相关文章:

c++ - 如果按下任何键,则中断 C++

c++ - 如何在没有_setmode的情况下在C++中输出unicode

c++ - COM 事件处理的最快方式(在性能方面)

office365 - 我可以访问 Outlook 2016 桌面客户端中的 localStorage 吗?

c++ - 这不是复制初始化,是吗?

c++ - Qt中如何在窗体之间传递数据序列

iphone - 当我使用 COM 以编程方式同步 iphone 时让 iTunes 通知我

c++ - mingw 中 Microsoft COM 对象的 AfxConnectionAdvise 的非 MFC 替换

c# outlook 插件 - 在本地存储数据

c# - 如何刷新所有打开的窗口中的功能区