0

(エンドユーザーではなく)テンプレートエディターがサンプルデータを入力してフォームをプレビューできるように、InfoPathアドインを構築しようとしています。

まず、私たちの環境について少し背景を説明します。MOSSに接続し、特定のフォームに適切なデータソースアセンブリをダウンロードし、それらを呼び出してデータベースからフォームにデータ(レターテンプレートの受信者アドレス情報など)をロードするカスタムプロセスがあります。このプロセスは、フォームがダウンロードされ、データ取得用のパラメーター(URL経由)が渡されたときに起動されます。コマンドラインからローカルに保存されたフォームテンプレートにパラメーターを渡すことで、この動作を概算できます。

その知識を武器に、次のことを行うInfoPathアドインの構築に着手しました。

  1. テンプレートエディタがクリックしてフォームにサンプルデータを入力できるデザインモードでカスタムツールバーボタンを表示します(パラメータを渡す必要があります)。
  2. ボタンがクリックされたら、アクティブなテンプレートのコピーを一時フォルダーに保存し、Shell()コマンドを使用してパラメーターをフォームに渡します。フォームのコピーは、別のInfoPathウィンドウで起動されます。

途中のガイダンスとして、さまざまなオンラインチュートリアルとApressのPro InfoPath 2007を参照しましたが、ここでの以前の投稿と同様に、利用できる情報が非常に限られていることがわかりました。私は途中ですが、いくつかの問題に遭遇しました:

  1. カスタムツールバーボタンを表示することができましたが、プレビューモードでのみ表示されました。デザインモードで表示するにはボタンが必要です。
  2. Application.ActiveWindow.XDocument.SaveAs()メソッドは、テンプレート全体ではなく、フォームのみを保存しているように見えます。おそらくこれは、私がデザインモードではなくプレビューモードになっているためですか?たぶん、最初の問題に取り組むことでこれも解決するでしょう。
  3. 上記の2つの問題を回避するために、フォームテンプレートソリューションでFormEvents_Loadingハンドラーを呼び出す方法を調べました。これにより、コピーを保存してコマンドラインから起動することなく、テストパラメータに合格することができます。私はこれを行う方法を理解できませんでした。

何かアイデアや提案はありますか?よろしくお願いします!

4

1 に答える 1

0

[フォームオプション] ->[プレビュー]タブをご存知ですか?そこで、テンプレートをプレビューするときに使用するフォームを設定できます。これがあなたがやろうとしていることのように聞こえます。おそらく、アドインを使用してデフォルトのプレビューフォームを変更し、ユーザーはプレビューをクリックするだけでサンプルデータを表示できます。

于 2009-06-08T07:02:18.367 に答える