2

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`

使用可能な単語ヘッダー ファイルを生成しません。次のようになります。

sdp: 列挙型 "e183" の列挙子: 必要な "name" attribute.quote がありません

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からデータ/情報を送信および取得する他の方法があるかどうか疑問に思います.

4

1 に答える 1

2

そこで、Mac用のMicrosoft Word 2011でこの問題を「解決」する方法を見つけました。あまり好きではありませんが、うまくいくようです。「解決策」は、私がリンクした議論に基づいています。

コマンドは、Appleの例で説明および表示されているように、ビルドルールで実行されます(リンクについては、最初のコメントを参照してください)。

  1. 最初にコマンドを使用しますsdef "$INPUT_FILE_PATH" > word.sdef(INPUT_FILE_PATHは、XCodeにドラッグしたMicrosoft Wordへのパスです)
  2. word.sdefファイルを開き、e315およびe183という名前の列挙を検索します。列挙は次のようになります: `
  3. e183には名前フィールドが1つないので、文字列を追加しました
  4. e315にはすべての名前フィールドがないため、追加しました
  5. 次に、コマンドを使用しますcat word.sdef | sdp -fh -o "$DERIVED_FILES_DIR" --basename "$INPUT_FILE_BASE"
  6. これで、Microsoft Word.hファイルが生成され、使用できるようになりました。

.sdefファイルに文字列を手動で追加する必要があるため、このソリューションは好きではありませんが、機能しているようです。

それが問題を解決するので、私はそれを正解としてマークしますが、誰かがより良い解決策を持っているなら教えてください。

于 2013-03-13T08:27:59.723 に答える