Oświadczenie: Zdaję sobie sprawę, że nie dotyczy to programu Outlook 2010, ale może dostarczyć wystarczającej inspiracji do budowania w oparciu o strukturę programu Outlook 2007.
Uwaga: Poniższy przykład można zbudować przy użyciu makra VBA lub wtyczki Outlook.
Jeśli zlokalizujesz, gdzie „Powiązane wiadomości” istnieją w CommandBar
hierarchii ( struktura menu programu Outlook ) - możesz wykorzystać Copy
mechanizm i umieścić istniejące CommandBarButton
w standardzie CommandBar
( w przypadku programu Outlook 2007 ). Po wykonaniu tej czynności możesz zmienić nazwę Caption
i przypisać inny klawisz skrótu ( patrz poniżej w celach informacyjnych ). W tym przykładzie możemy użyć Alt+, Maby uruchomić zaawansowane wyszukiwanie „Podobne wiadomości”.
Referencje VSTO
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";
}
}
}
}
}
}
W programie Outlook 2010 możesz po prostu spróbować wykonać następujące czynności, ponieważ nie ma standardowego paska poleceń ( został zastąpiony interfejsem użytkownika wstążki ). Użycie byłoby wtedy Alt+, Ma następnie Enterdo uruchomienia zaawansowanego okna dialogowego „Podobne wiadomości”. Jednak - nie zostało to przetestowane.
var relatedClone = related.Copy(menuBar);
Referencje 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