отказ от ответственности: я понимаю, что это не для Outlook 2010, но это может предоставить вам достаточно вдохновения, о том, как построить на основе структуры программы Outlook 2007.
Примечание: следующий пример может быть построен с помощью макроса VBA или плагина Outlook.
если вы обнаружите, где "связанные сообщения" существует в CommandBar
иерархия (структура меню Outlook) - вы можете использовать Copy
механизм и место существующих CommandBarButton
стандартный CommandBar
(в случае Outlook 2007). После того, как вы сделали это-вы можете переименовать Caption
и назначить другую комбинацию клавиш (ниже ссылка). В этом примере, мы можем использовать Alt+M, чтобы вызвать" связанные сообщения " расширенный диалог поиска.
ссылка ВСТО
Outlook.Explorer explorer = Application.ActiveExplorer();
// retrieve menu toolbar for this explorer
CommandBar menuBar = explorer.CommandBars.ActiveMenuBar;
for (int i = 1; i <= menuBar.Controls.Count; i++)
{
if (menuBar.Controls[i].Caption == "&Tools")
{
var toolsMenu = menuBar.Controls[i] as CommandBarPopup;
for (int j = 1; j <= toolsMenu.Controls.Count; j++)
{
if (toolsMenu.Controls[j].Caption == "&Instant Search")
{
var searchMenu = toolsMenu.Controls[j] as CommandBarPopup;
for (int k = 1; k <= searchMenu.Controls.Count; k++)
{
if (searchMenu.Controls[k].Caption == "&Related Messages...")
{
var related = searchMenu.Controls[k] as CommandBarButton;
var relatedClone = related.Copy(explorer.CommandBars["Standard"]);
relatedClone.Caption = "Related &Messages";
}
}
}
}
}
}
в Outlook 2010, Вы можете просто попробовать сделать следующее, Так как нет стандартная панель команд (он был заменен лентой UI). Тогда использование будет Alt+M а то Enter, чтобы вызвать" связанные сообщения " расширенный диалог поиска. Однако-это не было проверено, хотя.
var relatedClone = related.Copy(menuBar);
ссылка VBA
Sub AddRelatedMessages()
Dim menuBar As CommandBar
Dim toolsMenu As CommandBarPopup, searchMenu As CommandBarPopup
Dim related As CommandBarButton, relatedClone As CommandBarButton
Set menuBar = Application.ActiveExplorer().CommandBars.ActiveMenuBar
Dim i As Integer, j As Integer, k As Integer
For i = 1 To menuBar.Controls.Count Step 1
If (menuBar.Controls(i).Caption = "&Tools") Then
Set toolsMenu = menuBar.Controls(i)
For j = 1 To toolsMenu.Controls.Count Step 1
If (toolsMenu.Controls(j).Caption = "&Instant Search") Then
Set searchMenu = toolsMenu.Controls(j)
For k = 1 To searchMenu.Controls.Count Step 1
If (toolsMenu.Controls(k).Caption = "&Related Messages...") Then
Set related = searchMenu.Controls(k)
Set relatedClone = related.Copy(Explorer.CommandBars("Standard"))
relatedClone.Caption = "Related &Messages"
End If
Next k
End If
Next j
End If
Next i
End Sub