Я пытаюсь создать Excel (2007) Добавить в том, что будет реагировать на изменения сводной таблицы, используя этот код:Как развернуть файл .dna из ExcelDna?
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)
{
}
После .dll был создан, развернув его/генерируя .xll файл стал вызов; Я использовал this post для руководства там, и теперь у вас есть .xll-файл.
Мне удалось добавить это в таблицу Excel (файл .xlsx), на которую я хочу ответить на код (через File> Excel Options> Add-Ins> Go ...> Browse), но получите это err тзд на добавление .xll файла:
Я вижу, что есть * .dna файл здесь \ пакеты \ ExcelDna.AddIn.0.33.9 \ контента \ ExcelDna-Template.dna
... но создав копию этого файла и изменив его имя на [projectName] .dna (Excel2010AddInForRptRunner-AddIn.dna), а затем скопируем его в то же место, что и файл .xll с файл .xlsx не является решением (каламбур не предназначен). Изменение сводной таблицы вручную не запускает событие/я не вижу сообщения «sh_PivotTableUpdate event».
.dna файл делает ссылку на DLL-файл, как так:
<ExternalLibrary Path="Excel2010AddInForRptRunner.dll" LoadFromBytes="true" Pack="true" />
Так что мне нужно сделать, чтобы решить Сообщение об ошибке я получаю и получить .xll файл, который будет принят в электронную таблицу, что его код будет запущен, а обработчик события PivotTableUpdate запущен?
Вы должны игнорировать этот пост вам ссылку на - предложение переименовать файл в каталоге пакетов неверен. Пакет «ExcelDna.AddIn' NuGet настраивает все, что вам нужно, автоматически. – Govert