ライブラリで列の既定値に設定した値が消えてしまう
2021.07.12
SharePoint のドキュメントライブラリ(以下、ライブラリ)を活用する上で、ライブラリに列(一行テキスト)を追加してなにかしらの入力を求めることがあります。また、その一行テキスト列に計算値を利用した既定値を設定しておき、入力抜けを防ぐようにするのも、よくある利用方法ですね。
ところが、まれに、この値が「あとから消えてしまう」ことがあります。
ファイルを更新すると値が消える
ファイルのアップロード時にはきちんと計算結果が既定値として挿入・保存されるのですが、そのあと、ファイルを更新したタイミングで何故か値が消えてしまいます。
本来、ライブラリの列に入力された情報は Office ファイルであればファイル本体のプロパティにも保存(転記)されるのですが、既定値が計算値である場合に、この連携が上手くいかないケースがあるようです。Office ファイル側は空のままなので、その状態でファイルが更新されると「空(値なし)」が SharePoint ライブラリの列に連携されます。結果として「値が消えてしまう」という仕組みだと思われます。
回避方法は不明
この現象の明確な発生原因や、回避方法はいまのところ不明です。ただ、私自身がテストした範囲では、ライブラリ側の既定値を「計算値」ではなく「一行テキスト」にした場合には問題が発生せず、一度発生した後でも「一行テキスト」に変更すれば再発しませんでした。これで一応の代替策にはなるかと思います。なお、環境は SharePoint Online、Office は ProPlus の 2016 です。
また海外で類似の事象がないかと探したところ、コミュニティにもひとつ投稿がありました。ただ、こちらも解決方法はまだ提案がないようですが。
Default calculated value not filled in on SharePoint document library metadata
https://techcommunity.microsoft.com/t5/sharepoint/default-calculated-value-not-filled-in-on-sharepoint-document/m-p/2232573
もし原因が特定できた時には、また投稿したいと思います。