2016-08-23 3 views
0

У меня есть надстройка для 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 сообщила бы.

+0

Микаэл, спасибо за размещение этого вопроса. Мне интересно, удалось ли вам найти решение этой проблемы. Могли бы вы обновить/поделиться? – Arieleo

+0

Да. Сгенерированная ошибка вводит в заблуждение. Когда dylib был обновлен и скомпилирован для 64-бит, проблема была решена. Утверждение о заявлении, упомянутое выше, в порядке. –

+0

Я попробую это; Спасибо за обновление! – Arieleo

ответ

0

Офис 2016 изолирован песочницей, с ограниченными правами на чтение файлов, которые живут в определенных местах. Я написал этот документ об установке пользовательского контента для Mac Office 2016, который вы можете начать с: http://macadmins.software/docs/UserContentIn2016.pdf

В частности, dylib должны быть расположены в ~/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Add-Ins. локализованы/если они установлены для каждого конкретного пользователя или в/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized /, если они установлены один раз на компьютере для всех пользователей для совместного использования.

Приложения Office 2016 больше не могут читать произвольные расположения файлов.

Отдельно, невозможность выбора любого файла непечатаемого файла при попытке добавить ссылки на файлы может быть ошибкой. Мне нужно взглянуть.

Schwieb (главный инженер-программист, Apple платформы Опыт Group, Microsoft Corporation)

+0

Большое спасибо.Это выглядит многообещающе. Я могу выбрать любой файл под ссылками, но он не будет отображаться в ссылках. Он может работать, если файл находится в нужном месте. –

+0

Хорошо, теперь я попробовал оба расположения папок без везения. –

+0

Когда я пытаюсь выбрать dylib, я просто не могу его выбрать - его серый цвет. Расширение по умолчанию - это текстовый файл, который можно изменить на tlb или «любой файл». Выбор «любого файла» не помогает. Я дважды проверял имена папок буквально буквами. FYI Если я перейду в то место, где я могу выбрать файл слова, и выберите «любой файл», файл слов также будет серым. Запуск Йосемити 10.10.4. –

Смежные вопросы