KB0118: Office SharePoint でコンテンツのクロールに失敗する

  1. ホーム
  2. リソース
  3. ナレッジ ベース
  4. KB0118

問題

Office SharePoint は、thinkcell リンクを含む Excel ファイルが含まれるコンテンツ ソースを完全にクロールできず、クロール ログに次のメッセージが記録されます。

Error in the Site Data Web Service. (Invalid high surrogate character (0xXXXX). A high surrogate character must have a value from range (0xD800 - 0xDBFF).)

原因

これは Excel 2000 および Excel XP のバグが原因で、 破損したメタデータを含む Excel ファイルが生成されることによって発生します。この問題は、 リンクされたソースを持つ文字列のカスタム ドキュメント プロパティが Excel ドキュメントに追加され、そのソースを解決できない場合に発生します。新しいバージョンの Excel では、 ドキュメント プロパティの値は有効な値(空の文字列など)に設定されます。 しかし Excel 2000 および Excel XP では、値に不正なデータが含まれ、 Office SharePoint クローラーが失敗する原因となる場合があります。Excel のドキュメントには、 ソースが解決される際に更新される前に、ドキュメント プロパティ値が既定値に設定されると明記されているため、 この動作は Excel 2000 および Excel XP のバグです。

この問題は、次の手順で再現できます。

  1. 次のリンクを使用して、非常にシンプルな Excel ファイルをダウンロードします。 LinkSourceProp.xls。
  2. Office 2000 または Office XP Excel を使用してファイルを読み込み、 マクロが有効になっていることを確認します。
  3. Alt+F11 を押してマクロ ウィンドウを開き、AddDocumentProperty ルーチンを実行します。
  4. File > Properties に移動し、 Custom タブを選択します。
  5. 新しく追加された TestProperty に関連付けられた値が不正なデータになっています。
Excelのメタデータ ダイアログ

解決策

thinkcell はカスタム ドキュメント プロパティを使用しています。この動作を確認した後、 当社ではコードを変更し、ドキュメント プロパティを文字列型ではなく ブール型で追加するようにしました。Excel 2000 と Excel XP はどちらも、ドキュメント プロパティを 有効なブール値に設定し、リンク元を解決できない場合でもこの値は有効なままです。

thinkcell 5.0 以降を使用して作成されたファイルでは、この回避策が使用されており、 Office SharePoint によって正常にクロールできるはずです。

Excel 2000 または Excel XP で生成されたファイル内の 破損したドキュメント プロパティ値を修復する方法については、Microsoft Office サポートに直接お問い合わせください。