SharePoint のカスタマイズをしていく上で、リストやライブラリに含まれる列の内部名を利用する機会は多々あり、これは SharePoint 2013 になっても同様です。例えば以前、このブログでご紹介した「JS リンク」を用いたカスタマイズでも内部名を利用していました。

SharePoint 2013 「JS リンク」を試してみた
http://idea.tostring.jp/?p=68

そこで今回は、列の内部名を確認する方法で最も簡単&手軽だと思う方法をご紹介します。ちなみに、以前のバージョンの SharePoint でも今回ご紹介する方法と同じ方法で列の内部名を確認できます。

列の内部名が表示されているのはドコ?

リストの設定画面を開き、内部名を確認したい列をクリックして列の設定画面を開きます。

20130430-1

内部名が表示されている場所は、実は画面上ではなく、アドレスバーに表示されている URL です。URL を確認してみると、下記のように Field というクエリ ストリングにセットされている値が内部名になっています。

20130430-2

Field=%5Fx8ffd%5F%5Fx52a0%5F%5Fx3057%5F%5Fx305f%5F%5Fx52

また、列を作成する際に、列名を英語等の半角英数字のみで作成した場合は良いのですが、日本語の列名にて列を作成した場合は、この文字列がエンコードされていますので、これをデコードしてから利用する必要があります。今回のサンプルも日本語の列名にて列を作成しているパターンです。

文字列をデコードする

文字列のデコードは Web 上でも複数のサイトでツールが提供されていますが、私は普段このあたりを利用しています。

Web便利ツール/URLエンコード・デコードフォーム – TAG index
http://www.tagindex.com/tool/url.html

デコードを行うと、下記のような文字列が取り出せます。これが内部名です。一見へんてこな文字列ですが、SharePoint 内部では日本語はこうした文字列に変換されています。

_x8ffd__x52a0__x3057__x305f__x52

ちなみにこの内部名は、列の作成時にのみ生成され、列の表示名を変更した場合であっても変わりません。内部名を変更するには、一度列を削除し、再作成をする必要があります。

まとめ

一番初めにも述べましたが、SharePoint のカスタマイズでは列の内部名が必要となる機会が少なくありません。その際には是非、今回ご紹介した方法を思い出して頂ければと思います。