none
InfoPath2010で作成したフォームがInfoPath2003では開かない RRS feed

  • 質問

  • はじめまして、parute13kinoと申します。

    初歩的な質問で大変申し訳ないのですが、InfoPathを理解している方が周りにいないので、力を貸して下さい。

    仕事の関係でInfoPath2010 のフォームを利用しまして、

    SharePoint2010との連携したファイル管理を行おうとしております。

    SharePoint側のカスタムリストに件名、ファイルのカテゴリ、ファイル名、管理者のリストを作成しています。
    InfoPath2010にて、編集、追加し、SharePoint側のカスタムリストに送信すると共に、xmlファイルとして保存します。

    利用数が多いInfoPath2007 をテンプレートにし、互換性はInfoPath Filterに設定しているのですが、InfoPath2003の方がアクセスすると、下記のようなエラーが発生します。

    =========================================================
    次のファイルを開くことができません:CCCCCCCC.xml
    フォームを開くことはできません。
    この問題を解決するには、システム管理者に問い合わせてください。
    フォーム テンプレート: SharePointサイトアドレス/Forms/template.xsn
    フォーム テンプレートは新しいバージョンの InfoPath で作成されました。
    このフォーム テンプレートは InfoPath バージョン 14.0.0 で作成されました。
    =========================================================

    と表示され、ファイルの閲覧すら出来ない状態です。

    InfoPath2010にて作成したテンプレートには、formとformと動かすためのコードを記述しております。
    ですが、InfoPath2010では正常に動作しております。

    InfoPath2003の方がアクセスして、ファイルを編集を行えるようにしたいと考えています。
    何か良い方法が御座いましたらご教授頂けますと大変助かります。

    2012年6月29日 3:39

回答

  • parute13kino さん

    これだけ引っ張っておいて、お役にたてずごめんなさい。。。
    きっと互換性の問題だろうとは思うのですが、なんでしょうね、一体。

    あとはマイクロソフトに問い合わせるとか、同じ環境を持つ方に試していただくとかしかなさそうですね。。。

    ちなみに、今回のフォームでできるかどうか、Enterpriseライセンスを持っていらっしゃるかどうか未確認ですが、Forms Servicesを使ったやり方に変えるという手もあるかと思います。
    まったく本質的ではないですが、クライアントにInfoPathがなくてもフォームが動くので、今回のような問題は起きなくなります。
    ただし、Enterpriseライセンスが必要なので、これだけのために導入するには高い買い物になってしまいますが・・・

    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク parute13kino 2012年7月23日 3:21
    • 回答としてマークされていない parute13kino 2012年7月23日 3:21
    • 回答としてマーク parute13kino 2012年7月23日 3:21
    2012年7月19日 16:29
  • parute13kino さん

    確かにWindowsダイアログのようなクライアント機能を呼び出すフォームだと、Forms Servicesは対応していないでしょうね。
    残念っ。

    MSからのサポートとか、セキュリティとか、社内の運用コストとか、バージョンアップの理由は色々あるかと思います。
    うまく説明して、がんばってバージョンアップ進めてください!

    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク parute13kino 2013年5月9日 5:57
    2012年7月24日 17:41

すべての返信

  • parute13kino さん

    InfoPathの下位互換性に関する問題かと思いますが、私も詳しくはないので調べてみました。
    以下二つのページを見る限り、2003で使用できないコントロールや機能を使用しているために、開けなくなっているのかと思います。

    IntoPath2010のヘルプにInfoPath 2010と2007、2003の機能互換に関するページがありました。
    http://office.microsoft.com/ja-jp/infopath-help/HA101732796.aspx

    上記ページのコントロールの互換性のところをご確認ください。

    同様に、2007と2003の互換性に関するページも見つけました。
    http://office.microsoft.com/ja-jp/infopath-help/HA010064381.aspx

    もし、まだ確認されていないようであれば、一度ご確認ください。

    SharePoint Developer http://sharepoint.orivers.jp

    2012年7月10日 6:58
  • 及川 紘旭さん

    情報ありがとうございます。
    本当に助かります。

    InfoPath2007と2003の互換性に関してですが、提示して下さったサイトは以前から見ており、
    コードを書き直しを行っていました。
    InfoPath2010の「デザイン チェック」機能では、非互換エラーは検知されておりません。

    ただ、もう一つ教えて下さったIntoPath2010のヘルプを見ておりました所、
    非互換エラーが検知されない「COM アドイン」が気になります。
    InfoPathのコードエディターにて、幾つか参照をインポートしております。
    参照しているのは
    ・System
    ・Microsoft.Office.Interop.InfoPath.SemiTrust
    ・Microsoft.VisualBasic
    ・System.Windows.Forms
    の4つです。
    参照が影響しているかもと思い、参照を外し、コードに直接参照指定するように書きなおしましたが、

    変わりませんでした。

    もう一度、見直してみます。また何かありましたら、投稿させていただきます。

    よろしくお願いします。


    2012年7月11日 8:56
  • InfoPath2010にて作成したテンプレートには、formとformと動かすためのコードを記述しております。
    >ですが、InfoPath2010では正常に動作しております。

    一点、的外れかもしれませんが…このコードですが、言語は何で書かれていますか?

    その言語が、2003側で対応しているでしょうか?


    SharePoint/Office365導入検討・運用・活用支援: http://simplesso.jp BLOG: http://sharepointmaniacs.com/

    2012年7月11日 12:05
  • 中村 和彦 さん

    ご意見本当にありがとうございます

    >一点、的外れかもしれませんが…このコードですが、言語は何で書かれていますか?
    >その言語が、2003側で対応しているでしょうか?

    このご質問ですが、言語は、Visual Basic(InfoPath 2003互換)を選択しています。

    InfoPath 2003はスクリプト言語(VBScript/JScript)対応なのですが、
    Microsoft Office InfoPath 2003 Toolkit for Visual Studio .NET を使用すれば、
    Visual Basicにも対応します。
    InfoPath2010もMicrosoft Office InfoPath 2003 Toolkit for Visual Studio .NETを
    サポートしています。

    よろしくお願い致します。
    2012年7月12日 4:38
  • SemiTrustのDLLが入ってるんですね。
    Microsoft.Office.Interop.InfoPath.SemiTrustは、InfoPath2003 SP1から提供されるようになったオブジェクトモデルを使っているという記載が、以下のページに書いてありました。

    InfoPathのオブジェクトモデルと開発環境を理解する
    http://msdn.microsoft.com/ja-jp/library/aa943357

    ということは、InfoPath2003 SP1でないと動かない可能性が高いと思います。
    parute13kinoさんが対象としている環境にSP1があたっているかどうか、確認してみてはいかがでしょうか。


    SharePoint Developer http://sharepoint.orivers.jp

    2012年7月12日 4:42
  • 皆様の意見をヒントに自分の方で調べていたところ、ふとMSDNライブラリに下記のような一文を見つけました。

    Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間によって提供されるマネージ コード オブジェクト モデルを使用したビジネス ロジックの作成は今も InfoPath 2010 でサポートされていますが、このオブジェクト モデルを使用して書かれたビジネス ロジックは、InfoPath Forms Services を実行する Microsoft SharePoint Server 2010 に展開されたブラウザー対応のフォーム テンプレートではサポートされていません。

    http://msdn.microsoft.com/ja-jp/library/aa947462.aspx

    この文からして…Microsoft SharePoint Server 2010 を介した運用はサポートしてないということでしょうか?
    だとしたら、これが原因でInfoPath2003では開けないということなんでしょうか?

    本当に、初歩的な質問になってしまいますが、よろしくお願いします。
    2012年7月12日 4:43
  • 及川 紘旭 さん

    情報ありがとうございます。
    InfoPathのバージョンを確認してみました。

    InfoPath2003はSP3まで適用されていました。

    ご紹介していただいたページを見ていますと、
    Microsoft.Office.Interop.InfoPath.SemiTrust.dllを使ったフォームテンプレートは
    SharePoint Server 2010上ではサポート外のようです。

    もしかしたら、この部分にてエラーが出ている可能性が見えてきました。
    本当にありがとうございます。
    引き続き調べて行きたいと思います。
    2012年7月12日 7:22
  • parute13kino さん

    ご提示いただいたURLに書いてあるのは、SharePoint 2010 の Forms Services を使う場合は、SemiTrust名前空間のオブジェクトはサポートされていないということだと思います。
    今回は、Forms Servicesを使っているのでしょうか?
    最初に確認すればよかったですが、文脈から、Forms Servicesは使っておらず、クライアントにインストールされたInfoPathクライアントでフォームを開いているように解釈したのですが、いかがでしょう?


    SharePoint Developer http://sharepoint.orivers.jp

    2012年7月12日 17:08
  • 及川 紘旭 さん

    ご返信ありがとうございます。

    こちらこそ曖昧な書き方をしてしまい、大変申し訳ありません。
    簡単な流れなのですが、
    ①SharePoint上にフォームテンプレートファイルを保存
    ②クライアントが新規登録する時はクライアントのローカルにインストールされたInfoPathを起動してフォームを開きます。
    ③クライアントがInfoPathを保存すると同時にSharePoint上のカスタムリストサイトにデータを送信します。

    SharePointとOfficeソフトの連携を知る方が少なくて、私なりの解釈になってしまいますが、
    Forms Servicesは使用していないと思います…多分。

    InfoPath2007の互換性があるフォームテンプレートでしたら上手く動くのですが、
    InfoPath2003の互換性を持つフォームテンプレートですと、起動する際にエラーが発生してしまうのです。

    この程度の情報ですが、よろしくお願い致します…
    2012年7月13日 2:22
  • parute13kino さん

    そうですね、クライアントのInfoPathでフォームを開いているとのことなので、Forms Srvicesは未使用ですね。
    追加でいくつか確認させてください。


    SharePoint上にフォームテンプレートを保存とありますが、保存先はフォームライブラリでしょうか?
    それとも、ドキュメントライブラリやカスタムリストでしょうか?
    一般的にSharePointとInfoPathを連携させるときは、フォームライブラリにフォームを発行し、それをクライアントのInfoPathかサーバーのForms Servicesで開き、登録したデータは同じフォームライブラリに保存するという形になります。
    今回はこの形ではないですよね?
    まぁ、2003互換のフォームテンプレートで起動するかどうかとは直接関係ないとは思いますが。


    念のため確認ですが、クライアントには.Net Framework 2.0以降は入っていますか?

    最後に、これも解決策に直結するわけではないですが、前の投稿で掲載されていた以下のページの配下のページは確認されましたか?
    もしまだ確認できていなければ、「~開発作業を開始する」とか「~フォームテンプレートを開発する」あたりは確認いただいておいた方がよさそうです。
    http://msdn.microsoft.com/ja-jp/library/aa947462


    SharePoint Developer http://sharepoint.orivers.jp

    2012年7月15日 7:24
  • 及川 紘旭 様

    ご返信ありがとうございまず。情報、とても助かります。

    >①
    >SharePoint上にフォームテンプレートを保存とありますが、…

    保存先はドキュメントライブラリです。
    ドキュメントのテンプレートとしてInfoPathを登録しています。
    「ブラウザーで開くドキュメント」の設定を「クライアント アプリケーションで開く」と設定しています。

    >②
    >念のため確認ですが、クライアントには.Net Framework 2.0以降は入っていますか?

    はい。
    ○Microsoft .NET Framework 1.1 ~ 3.5 まで

    また、Microsoft .NET Framework 4 は2つのバージョンがインストールされております。
    ○Microsoft .NET Framework 4 Extended
    ○Microsoft ..NET Framework 4 Client

    がインストールされております。

    >最後に、これも解決策に直結するわけではないですが、前の投稿で掲載されていた以下のページの配下のページは確認されましたか?

    ありがとうございます。確認はしているのですが、見落としている箇所もあるかも知れませんので、今一度確認してみます。

    2012年7月17日 5:12
  • parute13kino さん

    なるほど。
    フォームライブラリは使っていないのですね。
    だから何ってわけではないのですが・・・

    だいぶ手詰まり感が出てまいりましたが・・・
    以下のページの下部に書いているセキュリティ周りの設定については、問題ないでしょうか?
    http://msdn.microsoft.com/ja-jp/library/aa944884.aspx


    SharePoint Developer http://sharepoint.orivers.jp

    2012年7月18日 18:05
  • 及川 紘旭 様

    ご返信ありがとうございまず。
    確かに、手詰まり感が感じられてきました。
    やはり、2003と2010互換性の問題もあるのかも知れません。


    >だいぶ手詰まり感が出てまいりましたが・・・
    >以下のページの下部に書いているセキュリティ周りの設定については、問題ないでしょうか?

    セキュリティ設定は、「完全信頼」に設定しています。
    クライアントのローカルPCのファイル情報を取得するためです。
    ファイル選択ダイアログを実装しておりますので、そのために「完全信頼」と設定しております。

    InfoPath プロジェクトをプレビュー モードでデバッグしても問題はありません。

    よろしくお願い致します。

    2012年7月19日 8:55
  • parute13kino さん

    これだけ引っ張っておいて、お役にたてずごめんなさい。。。
    きっと互換性の問題だろうとは思うのですが、なんでしょうね、一体。

    あとはマイクロソフトに問い合わせるとか、同じ環境を持つ方に試していただくとかしかなさそうですね。。。

    ちなみに、今回のフォームでできるかどうか、Enterpriseライセンスを持っていらっしゃるかどうか未確認ですが、Forms Servicesを使ったやり方に変えるという手もあるかと思います。
    まったく本質的ではないですが、クライアントにInfoPathがなくてもフォームが動くので、今回のような問題は起きなくなります。
    ただし、Enterpriseライセンスが必要なので、これだけのために導入するには高い買い物になってしまいますが・・・

    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク parute13kino 2012年7月23日 3:21
    • 回答としてマークされていない parute13kino 2012年7月23日 3:21
    • 回答としてマーク parute13kino 2012年7月23日 3:21
    2012年7月19日 16:29
  • 及川 紘旭 様

    ご返信ありがとうございます。

    >これだけ引っ張っておいて、お役にたてずごめんなさい。。。
    >きっと互換性の問題だろうとは思うのですが、なんでしょうね、一体。
    そんなことはありません!
    ご相談に乗っていただけるだけでもありがたいですし、おかげで、問題の切り分けが出来ました。
    本当にありがとうございます。

    >ちなみに、今回のフォームでできるかどうか、Enterpriseライセンスを持っていらっしゃるか
    >どうか未確認ですが、Forms Servicesを使ったやり方に変えるという手もあるかと思います。

    SharePoint Server Enterprise サイト機能のことですよね?
    どうやら、起動しているみたいなので、さっそく試してみました。
    結果、警告「ダイアログ ボックスの動作はサポートされていません」が表示され、コードで作成しましたWindowsダイアログが文字化け?しました。
    どうやら、コードで作成したWindowsダイアログは対応していないみたいですね。
    折角、ご提案していただいたのに申し訳ありません。


    ですが、原因の切り分けが出来ましたので、理由を説明し、何とかOffice2003ユーザのバージョンアップを試みてみます。
    本当にありがとうございます。
    2012年7月23日 2:06
  • parute13kino さん

    確かにWindowsダイアログのようなクライアント機能を呼び出すフォームだと、Forms Servicesは対応していないでしょうね。
    残念っ。

    MSからのサポートとか、セキュリティとか、社内の運用コストとか、バージョンアップの理由は色々あるかと思います。
    うまく説明して、がんばってバージョンアップ進めてください!

    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク parute13kino 2013年5月9日 5:57
    2012年7月24日 17:41