Net Framework, Office 365, C#, WPF, ASP.Net, Visual Studio, Programmiersprachen PC, C# Programmieren, vba, SQL Server, free source code snippets Antivirus free
#

Excel Addin: eine Ribbonbar über VSTO Addin erstellen
 
 
Wie kann man unter Microsoft MS Excel eine benutzerdefinierte Ribbonbar im Menü erstellen, welche Funktionen und Aufgaben von Excel ausführt.
 
Aufgabe: Erstellen einer Ribbonbar für Excel

 
Projekt erstellen
Eine benutzerdefinierte Menüleiste oder Ribbonbar in Microsoft Office 2016 kann man einfach in Visual Studio erstellen.
Hierzu muss man die Microsoft Office Developer Tools for Visual Studio installieren und anschliessend in Visual Studio ein Office-Excel Addin Projet erstellen.

 
Ribbonbar:
Eine Ribbonbar direkt unter MS Excel wird erreicht, wenn man im Projekt mit Add->New Item
eine Ribbonbar Menüelement eindet.

 
Ribbonbar (Control)
Man kann zwischen dem Ribbonbar über den Visual Designer oder gleich über die Ribbon (XML) eine automatische Ribbonbar erzeugen.

 
Anschliessend kann man einen Button in die Ribbonbar ziehen und mit einem Click Event versehen

 
Über folgendem Code greift man dann auf das Excel Dokument zu, welches gerade geöffnet ist
 
Code in C# oder vb.Net unter Visual Studio

 
 

private void btnTest_Click(object sender, RibbonControlEventArgs e)
{

//< open Excel Worksheet >
Excel.Worksheet activeWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
//< open Excel Worksheet >

//< get Cell.Value >
Excel.Range actCell = Globals.ThisAddIn.Application.ActiveCell;
if (actCell.Value2 != null)
{
string sValue = actCell.Value2.ToString();
string sText = actCell.Text;
System.Windows.Forms.MessageBox.Show(sText );
}
//</ get Cell Value >
 
}

 
 
Damit der Code kompiliert werden kann müssen die folgenden Namespaces im Using-Bereich angefügt werden

//------< using >--------
using Microsoft.Office.Tools.Ribbon;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;
//------</ using >--------

 
Referenzen:
Damit man von einer VSTO Anwendung auf Microsoft Excel zugreifen kann, muss man unter Referenzen zwei Verweise einbinden.
a) Microsoft.Office.Interop.Excel
b) Microsoft.Office.Tools.Excel
die Einbindung wird mit der rechten Maustaste (Kontextmenü) eingefügt mit:
References->add Reference

 
 
Fehler: 0x80028018 bei Sprachpaketen
C# Code mit Verhinderung des Language Fehlers

private void btnTest_Click(object sender, RibbonControlEventArgs e)
{
//*Problem HRESULT 0x80028018
//< change Language to English >
System.Globalization.CultureInfo original_Language = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
//</ change Language to English >
 
//< open Excel Worksheet >
Excel.Worksheet activeWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
//< open Excel Worksheet >

//< get Cell.Value >
Excel.Range actCell = Globals.ThisAddIn.Application.ActiveCell;
if (actCell.Value2 != null)
{
string sValue = actCell.Value2.ToString();
string sText = actCell.Text;
System.Windows.Forms.MessageBox.Show(sText );
}
//</ get Cell Value >
 
//< restore language >
System.Threading.Thread.CurrentThread.CurrentCulture = original_Language;
//< restore language >
 
}

 
Mobile
»
Excel Addin: Erstellen einer Ribbonbar Buttons für ein vba Excel Addin
»
Benutzerdefinierte Symbolleisten entfernen
»
Einfache Liste aller Ribbonbar Icons mit OfficeIconID
»
Office Icons: Liste der Icons für die Ribbonbar
»
Excel Addin: eine Ribbonbar über VSTO Addin erstellen
»
Notiz, Log Aufschieb: Installation der Englischen Office Developer Tools für Visual Studio VSTO
»
Notiz: Was ist Interop und PIA in Microsoft Office
»
Excel VSTO Addin: Fehler HRESULT 0x80028018 InteropServices.COMException: Altes Format oder ungültige Typbibliothek

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Raimund.Popp@Microsoft-Programmierer.de