2016-12-15 9 views
0

私は現在、Office COM Interop経由でMicrosoft ExcelのローカルユーザーインスタンスとインターワーキングするC#/ .NETのWindowsデスクトップアプリケーションの作成を専門とするチームで働いています。私は現在、新しい製品の指定を担当していますが、WindowsとMacの両方で動作させることができない限り、プロジェクトは進まないと言われています。つまり、Mac版のアプリケーションを作成する必要がありますOSXにネイティブにインストールして、Mac用のMicrosoft Excelのユーザーインスタンスのオブジェクトモデルとやりとりすることができます。Office(Excel).NETコアを使用するMac OSX上のCOM相互運用機能?

Parallels、Mono、またはWine(これは一度も答えられていないCOM Interop Through Wine in OSXを参照)でアプリを実行することは、解決策ではありません。ユーザーは、ライセンスされたExcelのローカルコピーを実行していると仮定して、それを処理する必要があります。これは、Windowsで常に行ってきたことです。

私は.NET Coreは答えですが、Mac OSX上で.NET Coreを実行しているときにC#からExcel Object Libraryにアクセスできることを明確に示している場所は見つかりませんでしたMac用Excelのローカルコピーがインストールされています。誰もが、これが既に議論されている場所に私を教えてもらえますか、それとも.NETコアのロードマップにあれば、どうすればMicrosoftから見つけ出すことができますか?

答えて

2

MSDNで同様の言葉を使用した質問から役に立つフィードバックを受けました。また、.NET Core Githubに関する問題を投稿しましたが、私は次のような答えが何であるかはすでに明らかです:

  • .NET Coreチームはおそらくアクセスを追加することができます.NETコアクラスライブラリのOffice.Interop.Excel名前空間へ(Windowsのみ)
  • これは、COMオブジェクトを交換するためには環境が ではないため、OSXの.NETコアでは実行できません。
  • Macでは、Excelでオブジェクトを操作するための2つのオプションしかありません。どちらも既に存在しています:埋め込みVBAまたはJavaScript(Office アドイン)。
  • Officeアドインは、Excelのオブジェクト指向の オブジェクトをウェブ上で操作するための優れた新しいソリューションです。そのマルチプラットフォームの性質は素晴らしいので、マイクロソフトからの 開発の主な焦点を楽しんでいます。ただし、複雑なスプレッドシートを管理するためのCOMのパフォーマンスには の一致はありません。 はそれほど重要ではないためです。
  • これは、Excelの中でオブジェクトを管理するための解決策がないことを意味します。 MacではC#を使用していますが、Windows上には という見込みはありません。

結論:非常に歓迎された.NET Coreイニシアチブは、修正されたように見えましたが、悲しいことですが、OSXのアーキテクチャ上の制限のためです。

私はこれを質問の行の最後に来たと思うので、答えとして提出しましたが、誰かが上記のいずれかが間違っていると思うなら、叫んでください!

ありがとうございました。

関連する問題