Gewusst wie: Programmgesteuertes Erstellen von Office-Symbolleisten
Aktualisiert: November 2007
Betrifft |
---|
Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office. Projekttyp
Microsoft Office-Version
Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
In diesem Beispiel wird eine Symbolleiste mit dem Namen Test in Microsoft Office Word 2003 erstellt. Sie wird nahe der Mitte des Dokuments angezeigt und enthält zwei Schaltflächen. Beim Klicken auf eine Schaltfläche wird ein Meldungsfeld angezeigt. Ein Beispiel für das Anpassen der Benutzeroberfläche in Microsoft Office Excel 2003 finden Sie unter Gewusst wie: Programmgesteuertes Erstellen von Office-Menüs.
Fügen Sie der ThisDocument-Klasse folgenden Code hinzu:
![]() |
---|
Deklarieren Sie die Befehlsleistenvariablen auf Klassenebene und nicht in der Methode, in der sie aufgerufen werden. Dadurch wird sichergestellt, dass die Befehlsleistenvariablen so lange im Gültigkeitsbereich bleiben, wie die Anwendung ausgeführt wird. Ansonsten wird das Element von der Garbage Collection entfernt und der Code im Ereignishandler nicht ausgeführt. |
Beispiel
' Create the command bar variables at the class level.
Dim commandBar As Office.CommandBar
Dim firstButton As Office.CommandBarButton
Dim secondButton As Office.CommandBarButton
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
AddToolbar()
End Sub
Private Sub AddToolbar()
Try
commandBar = Me.CommandBars("Test")
Catch ex As ArgumentException
' Toolbar named Test does not exist so we should create it.
End Try
If commandBar Is Nothing Then
commandBar = Application.CommandBars.Add("Test", 1, False, True)
End If
Try
' Add a button to the command bar and create an event handler.
firstButton = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
firstButton.Style = Office.MsoButtonStyle.msoButtonCaption
firstButton.Caption = "button 1"
firstButton.Tag = "button1"
AddHandler firstButton.Click, AddressOf ButtonClick
' Add a second button to the command bar and create an event handler.
secondButton = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
secondButton.Style = Office.MsoButtonStyle.msoButtonCaption
secondButton.Caption = "button 2"
secondButton.Tag = "button2"
AddHandler secondButton.Click, AddressOf ButtonClick
commandBar.Visible = True
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
' Handles the event when a button on the new toolbar is clicked.
Private Sub ButtonClick(ByVal ctrl As Office.CommandBarButton, ByRef Cancel As Boolean)
MsgBox("You clicked: " & ctrl.Caption)
End Sub
// Create the command bar variables at the class level.
Office.CommandBar commandBar;
Office.CommandBarButton firstButton;
Office.CommandBarButton secondButton;
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
AddToolbar();
}
private void AddToolbar()
{
try
{
commandBar = Application.CommandBars["Test"];
}
catch (ArgumentException e)
{
// Toolbar named Test does not exist so we should create it.
}
if (commandBar == null)
{
// Add a commandbar named Test.
commandBar = Application.CommandBars.Add("Test", 1, missing, true);
}
try
{
// Add a button to the command bar and an event handler.
firstButton = (Office.CommandBarButton)commandBar.Controls.Add(
1, missing, missing, missing, missing);
firstButton.Style = Office.MsoButtonStyle.msoButtonCaption;
firstButton.Caption = "button 1";
firstButton.Tag = "button1";
firstButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
// Add a second button to the command bar and an event handler.
secondButton = (Office.CommandBarButton)commandBar.Controls.Add(
1, missing, missing, missing, missing);
secondButton.Style = Office.MsoButtonStyle.msoButtonCaption;
secondButton.Caption = "button 2";
secondButton.Tag = "button2";
secondButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
commandBar.Visible = true;
}
catch (ArgumentException e)
{
MessageBox.Show(e.Message);
}
}
// Handles the event when a button on the new toolbar is clicked.
private void ButtonClick(Office.CommandBarButton ctrl, ref bool cancel)
{
MessageBox.Show("You clicked: " + ctrl.Caption);
}
Siehe auch
Aufgaben
Gewusst wie: Programmgesteuertes Erstellen von Office-Menüs
Exemplarische Vorgehensweise: Erstellen von Kontextmenüs für Lesezeichen