2010-11-30 6 views
2

私たちは、VSTOの文書レベルプロジェクトを秀でています。このプロジェクトの一部として作成されたExcel文書には、ボタン、チェックボックスなどのいくつかのWinformコントロールがあるワークシート(スタートシートという)があり、主にデータを含む他の多くのワークシートがあります。我々は クライアントのマシンにWindowsインストーラを使用してこのソリューションを展開します。 Excelのバージョンは2007年と2007年のVSTOです。Excelのドキュメントレベルの配備に関する質問

私たちのソリューションがクライアントのマシンに展開されるときはいつでも、クライアントは通常そのマシン上でExcelドキュメントをカスタマイズします。彼らが追加したワークシートとは別に新しいワークシートを追加するように。彼らはまた、PIのようないくつかのアドインをインストールして、これらのワークシートにデータを持ち込みます。現在、私たちは通常クライアントからの強化要求を受けており、これらの拡張機能のほとんどは がExcelシートに新しいシートを追加しています。要求のほぼ99%が新しいシートを追加しています。各シートの背後にあるコードは、スタートシートのwinformコントロールによって主にトリガーされるビジネスロジックです。

いつでも、彼らはソリューションの拡張版をインストールし、新しいExcel文書を取得してから、それを再度カスタマイズする必要があります(いくつかのシートの追加、マクロの作成など)。それら。最近私たちにとって大きな問題となっているのは、 というクライアントがまったく気に入らないということです。

新しいバージョンのソリューションを展開しても、Excelのドキュメントのカスタマイズを変更しないでください。 VSTOでの私の経験はそれほど多くなく、大いに助けになるでしょう。

+0

vstoドキュメントレベルのアセンブリはGACに追加されますか、またはマニフェスト(sxs)経由でExcelからアクセスされますか? docレベルのアセンブリがxlsxと並んで配備されている場合、インストーラは新しい.vsto、myassembly.dll.manifest、およびmyassembly.dllをターゲットディレクトリにプッシュすることはできませんか? – gap

答えて

1

私はコードとテンプレート要素(シート、書式、数式、コントロール、カプセル化されたデータなど)をユーザーがExcelドキュメントから分離し、ユーザードキュメントを生成または変更できるようにプロジェクトのデザインを変更します。 EUIは、Excelメニュー/ツールバーまたはリボンタブです。
通常は、Excel Addin(XLA、XLL、COM、またはAutomation Addin)を作成します。

+0

こんにちはチャールズ、お返事ありがとうございました。しかし、デザインをExcel Addinタイプのプロジェクトに変更すると、それらをインストールすると、起動するExcelの各インスタンスには、ワークシートやUIコントロールなどの機能が組み込まれます。 – user525293

+1

ワークシートなどはすべてアドインに隠されています。新しい特殊ワークブックの作成、シートのタイプAの追加など特殊なブックの作成コマンドだけではじめてアドインを開始することができますが、ユーザーが特別な種類のブックを開いたとき(非表示の名前を使用)を認識してから、さらにメニューコマンドを動的に追加します。この方法のもう1つの利点は、アドインを簡単に更新できることです。 –

0

インストール中に古いドキュメントをコピーして新しいドキュメントに置き換えた後、古いドキュメントを新しいシートに移動して持ち越さないようにするアップグレードルーチンを使用することもできます。