[Обновить]
Кроме того, если вы используете D3js v4, с этим предупреждением будет возникать проблема с этим утверждением .interpolate("linear");
:
d3.line(...).x(...).y(...).interpolate is not a function
.
В этой новой версии .interpolate("linear");
следует изменить на:
curve(d3.curveLinear);
Как и в описании кривой Linear .
Я не знаю, что это связано с Вашей проблемой, но все Ваши вызовы COM должны прибыть из того же потока, на котором было создано Ваше дополнение. При создании новых потоков, необходимо проявить специальную заботу. Детали описаны в этих двух статьях:
Вы выполняете вызов от потока с его набором ApartmentState? в противном случае это могло бы быть преступником - взаимодействующий с COM, является довольно привередливым о такой вещи
Каковы настройки безопасности клиента? Довольно возможно, что настройки безопасности клиента (или настройки Windows/OS или настройки PowerPoint/App) не позволят Вашему плагину связываться через RPC.
Это может очень легко произойти при совершении каких-либо вызовов к объектной модели Powerpoint от фонового потока. Один вероятный сценарий имеет таймер, который периодически проверяет своего рода значение состояния. Если, когда таймер стреляет, Powerpoint занят (например, диалоговое окно открыто), вызов перестанет работать.
Эта статья Microsoft дает обзор поточной обработки поддержки в Office: http://msdn.microsoft.com/en-us/library/8sesy69e.aspx