Если я правильно понимаю ваш вопрос, то я сделаю что-то вроде этого:
const functionWhichIWantRun = e => console.log(e);
const variable = {
info1: 'info1',
info2: 'info2',
show: false,
someNameFunction: e => functionWhichIWantRun(e)
};
variable.someNameFunction('row 01');
RC1, я протестировал это с Вашим кодом от VBScript и из Excel 2007 Office, все хорошо работает.
Так как Ваши способные для создания COM-объекта из VB6 формируются, мы должны предположить, что платформа .NET в порядке. Можно ли исключить проблемы с VBA? Можете Вы создавать .vbs файл и помещать это в него:
Dim o As Object
Set o = CreateObject("Test9.COMINT")
o.Init "A", "B"
Сохраните файл и дважды щелкните по нему. Если бы Вы получаете ошибку, то я думал бы, что существует проблема с нею зарегистрированный, если бы Вы не получаете ошибку, то я посмотрел бы на Office и VBA и видел бы, отсутствует ли что-то или не установленное правильно.
Другая опция состоит в том, чтобы добавить ссылку на раннее связывание использования и COM-объект? Я думаю, что Вы, возможно, должны были бы экспортировать typelibrary сначала, но необходимо смочь добавить ссылку и простой новый объект.
Я собираюсь ответить на свой собственный вопрос, надо надеяться, сэкономить других часы утомительной тяжелой работы, которую я только что вынес.
Если Вы получаете это, это - потому что.NET базирующийся блок COM не может найти платформу.NET
Решение просто. Создайте файл, содержащий следующее
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Назовите его "Excel. Exe. Конфигурация" и место это в том же каталоге как "EXCEL.EXE"
Проблема решена!
Это работает на меня от VBA... Я попробовал его использование Word & Excel 2003 (SP3).
Я не уверен, что Вы подразумеваете под "производственной" машиной. Поскольку это - "клиентское" приложение и должно быть выполнено на клиентском использовании Excel.
Если Вы автоматизируете Excel на сервере и инициировали этот "interop" через вызов VBA, Вы напрашиваетесь на неприятности :)
Предполагая производством, значение клиентской машины, где пользователь будет использовать шаблон Excel / документ, это следующие указатели:
Если Вы чувствуете adventuristic, Вы могли бы использовать проводник процесса [от Microsoft sysinternals сайт] для наблюдения то, что является загруженным DLLs и где точно Вы получающий ошибку и сравниваете его со списком на Вашем dev поле.
Надеюсь, это поможет.
установка следующего исправления решит эту проблему http://www.microsoft.com/downloads/details.aspx?FamilyID=1b0bfb35-c252-43cc-8a2a-6a64d6ac4670&displaylang=en