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


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
Twitter : @saruhiko
FB : 中村 和彦
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-

FaceBook Activity