Infopath 通常の href リンクで新規フォームを開く
SharePoint のフォームライブラリに発行された、Infopath のフォームは、ライブラリ内の隠しフォルダ、Forms 配下に、template.xsn として保存されます。そのため、この xsn ファイルへの直リンクを貼れば、新規フォームを開くことができます。
例:http:server/site/DocLib/Forms/template.xsn
しかしこの方法にはやや難があります。
1.ネットワーク上のファイルにアクセスするため、「開く/保存」ダイアログが表示される。
2.「名前をつけて保存」の既定値が、ライブラリでなくローカルになる。
3.ie のセキュリティ設定次第で、フォームが開けない場合がある。
1、2、はまあ良いのですが、3が問題です。
Infopath は ie のセキュリティ設定に基づいた挙動をするため、その設定如何では、フォームが開けないことがあります。
どのセキュリティ設定が阻害要因なのかは、まだ確かには調べられていないのですが・・・。
そもそも、セキュリティ関連設定は、安易に弄くるべきものでもありません。
しかし、こうしてみると SharePoint の [新規] ボタンは随分特殊なことをしている訳ですね。
このボタンの挙動を再現できれば、1~3 の問題をクリアできそうです。
実はこれ、JavaScript で可能です。
[code]<a href="javascript:createNewDocumentWithProgID(escapeProperlyCore(‘http://server/site/DocLib/Forms/template.xsn’, true), ‘http://server/site/DocLib/’, ‘SharePoint.OpenXMLDocuments’, true)">新規フォーム作成</a>[/code]
http://server/site/DocLib/ (二箇所)はお手元の環境にあわせて変更してください。
こんな風に、ボタンにしても判りやすくて良いかもしれません。
[code]<input type="button" value="新規申請" style="width:150px;height:40px" onClick="javascript:createNewDocumentWithProgID(escapeProperlyCore(‘http://server/site/DocLib/Forms/template.xsn’, true), ‘http://server/site/DocLib/’, ‘SharePoint.OpenXMLDocuments’, true)">[/code]
Rob Haller
Creating a Web Link or href for SharePoint New Button on InfoPath Forms Library
login