Ich versuche, ein Excel (2007) Add-in zu erstellen, die Pivot-Tabelle Änderungen reagieren wird, diesen Code verwenden:Wie kann ich die .dna-Datei von ExcelDna bereitstellen?
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Excel.Worksheet sh = this.Application.ActiveSheet;
sh.PivotTableUpdate += new
Excel.DocEvents_PivotTableUpdateEventHandler(sh_PivotTableUpdate);
}
void sh_PivotTableUpdate(Excel.PivotTable TargetPivotTable)
{
MessageBox.Show("sh_PivotTableUpdate event fired");
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
Sobald die DLL erstellt wurde, ein it/Erzeugen einer XLL-Datei wurde die Bereitstellung von Herausforderung; Ich habe this post als Anleitung verwendet und habe jetzt eine .xll-Datei.
Ich konnte dies in die Excel-Tabelle (.xlsx-Datei) hinzufügen, die ich auf den Code antworten möchte (über Datei> Excel-Optionen> Add-Ins> Gehe ...> Durchsuchen), aber erhalten Sie diesen Fehler msg auf Hinzufügen der XLL-Datei:
ich sah, dass es ein * ist .DNA hier \ packages Datei \ ExcelDna.AddIn.0.33.9 \ content \ ExcelDna-Template.dna
... aber eine Kopie dieser Datei erstellen und ihren Namen in [projectName] .dna (Excel2010AddInForRptRunner-AddIn.dna) ändern und sie dann an denselben Speicherort kopieren wie die .xll-Datei Die .xlsx-Datei ist nicht die Lösung (kein Wortspiel beabsichtigt). Wenn Sie die PivotTable manuell ändern, wird das Ereignis nicht ausgelöst/ich sehe keine "sh_PivotTableUpdate-Ereignis ausgelöst" -Meldung.
Die .DNA Datei wird die DLL-Referenz wie folgt:
<ExternalLibrary Path="Excel2010AddInForRptRunner.dll" LoadFromBytes="true" Pack="true" />
Also, was muss ich tun, um die err msg ich zu lösen und nutzen Sie die XLL-Datei von der Tabelle in Kauf genommen werden, so dass sein Code ausgeführt wird und der PivotTableUpdate-Ereignishandler ausgelöst wird?
Sie sollten den Beitrag, den Sie verknüpfen ignorieren - der Vorschlag der umbenennen Datei im Paketverzeichnis ist nicht richtig. Das 'ExcelDna.AddIn' NuGet-Paket richtet alles automatisch ein, was Sie brauchen. – Govert