Создание моста сценариев и создание файла заголовка Microsoft Word

Я пытаюсь подключить приложение Какао к Microsoft Word, и, судя по результатам поиска, единственный способ - использовать Scripting Bridge и сгенерировать файл заголовка Word. Однако при использовании подхода, описанного в примере проекта Apple SBSendEmail:

sdef "$INPUT_FILE_PATH" | sdp -fh -o "$DERIVED_FILES_DIR" --basename "$INPUT_FILE_BASE" --bundleid `defaults read "$INPUT_FILE_PATH/Contents/Info" CFBundleIdentifier`

Не создает файл заголовка, пригодный для использования, я получаю следующее:

sdp: перечислитель перечисления "e183": отсутствует обязательный атрибут "name". цитата

В результате дальнейшего поиска в Google я нашел следующее обсуждение на форумах Apple: https://discussions.apple.com/thread/2623068?start=0&tstart=0

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

sdef ./Microsoft\ Word.app/ > word.sdef 
cat word.sdef | sdp -fh --basename word

Поэтому мне интересно, есть ли у кого-нибудь идеи, как решить проблему, или есть другой способ отправлять и получать данные / информацию из Microsoft Word.


person Steffen Andersen    schedule 11.03.2013    source источник


Ответы (1)


Итак, я узнал, как «решить» эту проблему в Microsoft Word 2011 для Mac, мне это не очень нравится, но вроде работает. «Решение» основано на обсуждении, которое я связал:

Команды запускаются в правилах сборки, как описано и показано в примере Apple (см. Мой первый комментарий для ссылки).

  1. Сначала используйте команду sdef "$INPUT_FILE_PATH" > word.sdef (INPUT_FILE_PATH - это путь к Microsoft Word, который я перетащил в XCode)
  2. Open the word.sdef file and search for the enumeration named e315 and e183. The enumeration looks like: `
  3. e183 is missing one name field, so I just added a string to it
  4. У e315 отсутствуют все поля его имени, поэтому я добавил их
  5. Затем используйте команду cat word.sdef | sdp -fh -o "$DERIVED_FILES_DIR" --basename "$INPUT_FILE_BASE"
  6. Теперь создается файл Microsoft Word.h, который можно использовать.

Мне не нравится это решение, так как вам нужно вручную добавлять строки в файл .sdef, однако, похоже, оно работает.

Я отмечу это как правильный ответ, так как он решает проблему, но если у кого-то есть лучшее решение, сообщите.

person Steffen Andersen    schedule 13.03.2013
comment
У меня была такая же проблема, и я пришел к такому же решению. Я упомянул об этой проблеме инженеру AppleScript из WWDC, и он посоветовал мне отправить отчет об ошибке в Apple. rdar: // 14425300 - person AriX; 12.07.2013
comment
Все, что мне нужно для создания файла заголовка для Microsoft Power Point, Microsoft Excel и Adobe Reader. Я создал файл заголовка PowerPoint, используя $ sdef / Applications / Microsoft \ Office \ 2011 / Microsoft \ PowerPoint.app | sdp -fh --basename MicrosoftPowerPoint Но это дает мне ошибку при создании приложения. MicrosoftPowerPoint.h: 3028: 2: Переопределение перечислителя «MicrosoftPowerPoint4006ShapeRange» Любой, пожалуйста, помогите мне. После создания файла заголовка требуется ли добавить какой-либо сценарий или настройки в приложение. Мне нужно интегрировать этот модуль в то же приложение для Mac, в которое я интегрировал MicroSoftWord.h. - person Nikh1414; 01.04.2016