【问题标题】:Scripting bridge and generate Microsoft Word header file脚本桥接并生成 Microsoft Word 头文件
【发布时间】:2013-03-11 12:21:25
【问题描述】:

我正在尝试让一个 Cocoa 应用程序连接到 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`

不生成可用的word头文件,我得到以下信息:

sdp:枚举“e183”的枚举器:缺少必需的“name”属性。引用

通过谷歌进一步搜索,我在苹果论坛上找到了以下讨论: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 发送和获取数据/信息。

【问题讨论】:

    标签: macos cocoa ms-word scripting-bridge


    【解决方案1】:

    所以我发现了如何为 Microsoft Word 2011 for Mac “解决”这个问题,我不太喜欢它,但它似乎有效。 “解决方案”基于我链接的讨论:

    命令在构建规则中运行,如 Apples 示例中所述和所示(请参阅我的第一条评论以获取链接)。

    1. 首先使用命令sdef "$INPUT_FILE_PATH" > word.sdef(INPUT_FILE_PATH 是 Microsoft Word 的路径,我已将其拖入 XCode)
    2. 打开 word.sdef 文件并搜索名为 e315 和 e183 的枚举。 枚举看起来像:`
    3. e183 缺少一个名称字段,所以我只是在其中添加了一个字符串
    4. e315 缺少其所有名称字段,因此我添加了它们
    5. 然后使用命令cat word.sdef | sdp -fh -o "$DERIVED_FILES_DIR" --basename "$INPUT_FILE_BASE"
    6. Microsoft Word.h 文件现已生成并可使用。

    我不喜欢这个解决方案,因为您必须手动将字符串添加到 .sdef 文件中,但它似乎可以工作。

    我会将其标记为正确答案,因为它解决了问题,但如果有人有更好的解决方案,请告诉。

    【讨论】:

    • 我遇到了同样的问题并提出了相同的解决方案。我向 WWDC 的 AppleScript 工程师提到了这个问题,他建议我向 Apple 提交错误报告。 rdar://14425300
    • 我只需要为 Microsoft Power Point、Microsoft Excel 和 Adob​​e Reader 创建头文件。我使用 $ sdef /Applications/Microsoft\ Office\ 2011/Microsoft\ PowerPoint.app | 创建了 PowerPoint 头文件sdp -fh --basename MicrosoftPowerPoint 但是在构建应用程序时它给了我错误。 MicrosoftPowerPoint.h:3028:2:枚举器“MicrosoftPowerPoint4006ShapeRange”的重新定义任何人请帮助我,创建头文件后是否需要在应用程序中添加任何脚本或设置。我需要将此模块集成到我已集成“MicroSoftWord.h”的同一个 Mac 应用程序中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    相关资源
    最近更新 更多