У меня есть надстройка для Word, которая взаимодействует с третьей стороной cmd-программы через api, который я написал в C#, используя визуальную студию. Связь осуществляется с использованием stdin и stdout. Программа работает на Word 2007, 2010, 2013, 2016 для Windows.Word 2016 vba add для Mac
Я также успешно перенес его в Word 2011 для Mac. Здесь api написано в c с использованием xcode, но все еще используется stdin и stdout. Api на mac - это dylib, который я могу ссылаться в визуальном базовом редакторе. У меня возникли проблемы с повторением этого в версии Office для Mac 2016 года. Я подозреваю, что это может быть невозможно, из-за новых ограничений безопасности. Когда я пытаюсь ссылаться на файл, я могу выбрать только файлы .tlb (библиотеки типов). Я только создал tlb-файлы, используя визуальную студию в Windows, и не знаю, как это сделать на Mac.
Может ли кто-нибудь ответить, если то, что я пытаюсь сделать, возможно даже в версии Office для Mac 2016 года, и где я могу найти документацию о том, как создавать файлы, на которые можно ссылаться?
FYI: Надстройка называется WordMat: www.eduap.com
Дополнительная информация следующая информация от @erik ниже У меня возникли проблемы, объявляя функции в моем Lib. Вот мое заявление о заявлении: Declare PtrSafe Function VBstrlen Lib "/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/libMaximaConnection.dylib" (ByVal s As String) As LongPtr
Эта функция является простой тестовой функцией, которая возвращает длину строки. Функция declare работает как ожидалось в Word 2011, используя вышеуказанный путь.
Ошибка Доложенных ошибка 53 файл не может быть расположен
dylib имеет 32-битный скомпилирован, поэтому я бы не стал ожидать, что она работает с 64-битным обновления офиса 2016 года, но я хотел бы ожидать a Ошибка 453 DLL не может быть размещена как Word 2011 сообщила бы.
Микаэл, спасибо за размещение этого вопроса. Мне интересно, удалось ли вам найти решение этой проблемы. Могли бы вы обновить/поделиться? – Arieleo
Да. Сгенерированная ошибка вводит в заблуждение. Когда dylib был обновлен и скомпилирован для 64-бит, проблема была решена. Утверждение о заявлении, упомянутое выше, в порядке. –
Я попробую это; Спасибо за обновление! – Arieleo