FrontPage
InfoPath †
使えないXSLT命令 †
命令 | 現象 |
xsl:call-template | Infopathで読み込めなくなる |
フォームにヘルプを追加する †
フォーム入力時に、ヘルプファイル(html形式)を表示させる事ができる。
画面右に表示される。
ただし、このファイルはInfoPathでは作成できないので、外部ソフトで作成し指定する必要がある。
なお、画像やcssも使えるがいちいちリソースとして一つづつ取り込む必要があるので、数は少ない方がよい。
HTMLをXHTMLへ変換する †
HTMLをXHTMLに変換する事で、InfoPathのフォームで編集できるようになります。
html2xhtml.dllのconvertToXHTMLメソッドを使用する事で、変換できます。(Microsoft Office InfoPath 2003 SDK付属)
強制的にSJISに変換するようです。EUC-JPのファイルを変換させると文字化けが発生。
よって、あらかじめSJISに変換しておくとよさそう。
- html2xhtml.dllの登録
COMなのでレジストリに登録する必要があります。
C:\Program Files\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\Tools>regsvr32 html2xhtml.dll
- スクリプト
- 実行
コマンドプロンプトから
convertToXHTML.js <入力html> <出力xhtml>
Regform.exeでエラーが出る場合 †
以前の作成時にエラーが出るとゴミを残し、以後のコンパイルに失敗する場合があります。
テンポラリファイルを消すと正常に作成できる場合がありました。
C:\DOCUME~1\ユーザー名\LOCALS~1\Temp\RegForm\
完全信頼フォームの配布 †
完全信頼フォームを作成すると、ローカルリソースにアクセスできるようになります。
また、msiファイルを作成してくれるのでインストール等が楽に行えます。
regform.exe を使用します。(Microsoft Office InfoPath 2003 SDK)
C:\Program Files\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\Tools\regform.exe
- 新規インストール
- インストール用パッケージの作成
regform.exe /T Yes /MSI 配布するxsnファイル
すると、msiファイルとjsファイルが作成されます。
また、xsnファイルが完全信頼フォームに書き換えられます。
なお、ファイル名が日本語のxsnは扱えません。
- msiファイルをダブルクリックして、インストールすると、完全信頼されたフォームがインストールされ、InfoPath起動時のテンプレートとして登録されます。
- 更新
xsnを更新して、msiを作成してインストールしても、古いxsnファイルを消してくれないようです。
よって、更新時にはアンインストール -> インストールの順番で行います。
それが面倒な場合は、以下の手順で更新できるようです。
- xsnファイルを更新する
- 完全信頼フォームの作成
regform.exe /T Yes /MSI 配布するxsnファイル
- xsnとjsをインストール済みフォルダに上書き
- jsファイルを/uninstallオプション付きで実行
wscript 配布するxsnファイル.js /uninstall
- jsファイルをそのまま実行
wscript 配布するxsnファイル.js
上記を実行するバッチファイルでも作成すれば楽に更新できるかも。
高度なxsltを使用する †
xsltではできて、InfoPathではできない事を実装するには、一度xsnファイルを展開して、直接編集して再圧縮すれば動作する。
- manifest.xsf
構成ファイル情報
付属リソースファイル等を追加する場合は、ここを編集する。
- *.xsl
各ビューファイル。これを編集する。
xsnファイルの中身を見る †
.xsnファイルの実体は標準的な圧縮形式の.cabファイルである。
よって、拡張子をcabに変えればWindowsの標準機能で中身を見る事ができる。
中には、xmlやxsltやjsファイルが含まれている。
よって、これらを直接編集し、再度cab圧縮すれば更新できる。
参考リンク †