あまり気にしたことがなかった方もいるかと思いますが、リストやドキュメント ライブラリの列には「内部名」というものが存在します。

内部名とは、変更不可かつ一意の値になっている「列の絶対的なお名前」です。

「列名(表示名)」は変更可能なため、カスタムで設定を行う場合などシステム的な処理を行う場合は「内部名」を使用します。

今回は、この「内部名」について説明していきたいと思います。

  1. 内部名の確認方法
  2. 分かりやすい内部名の命名方法
  3. 同じ内部名は付けられない
  4. まとめ

1.内部名の確認方法

内部名の命名方法の前に、、、内部名の確認方法を簡単に説明します。

列の編集画面を開くと確認可能です。
URLの「Field=」より後ろが、列の内部名です。

下記の場合だと、「Title」が内部名になっています。

https://XXXXX.sharepoint.com/sites/xxxxxx&Field=Title

2.分かりやすい内部名の命名方法

内部名は、列を作成した際の「列名」に基づいて命名されます。

列の作成時に列名を半角英数にすることで、分かりやすい内部名にすることが可能です!
その後、列名を日本語に変更すると、内部名も表示名も分かりやすくなります。

【列名を日本語で作成した場合】
列名を最初から日本語で作成してしまうと、内部名がエンコードされた文字列になってしまいます。

例えばですが、「場所」という列名で作成した列の内部名は「x5834__x6240」となっていました。

【列名を半角英数で作成した場合】
列名を半角英数で作成すると、入力した列名がそのまま内部名になるので、有意な内部名にすることができます。

半角英数のみで作成した場合でも、例外があるので注意が必要です。

私が知っている範囲内での例外です。

・頭文字が数字
 例:「1test」→「_x0031_test」、「1」→「_x0031_」
・大文字のみ
 例:「TEST」→「TEST0」、「T」→「T0」

3.同じ内部名は付けられない

冒頭にもあったように、内部名はリスト内で一意になっている必要があります。

そのため、すでに使われている内部名にしようとすると、『入力した列名は既に使用されているか予約されています。別の名前を入力してください。』と表示されて列を作成することができません。

ここで気を付けなくてはいけないのが必要なのが、既定で作られている列の存在です。

当たり前ですが、リストやドキュメント ライブラリの作成時に既定で作成された列の内部名も使用できません。

そのため、「ID」や「Editor」などにしようとすると、別の名前を入力するように言われたり、内部名の最後に「0」が付いたりします。

4.まとめ

今後、少しでもカスタムする可能性があるなら、内部名にもこだわることをおすすめします!!

列だけに限らず、リストやドキュメント ライブラリにも言えることですが、作成時の名前は半角英数にすることを心掛けようと思います。

作成してから変更する必要があるのでひと手間増えてしまいますが、後々の管理等も考えたら、内部名も分かりやすい方がいいですよね(=´ェ`=)