フィールド(列)の作成方法

SharePointのリスト/ライブラリのフィールド(列)を作成するには、
1) リストの設定で [列の作成]をする方法
2) サイト内の列を作成して リストの設定で [サイト内の既存の列から追加]する方法
3) サイト内の列、サイトコンテンツタイプを作成して リストの設定で [既存のサイトコンテンツタイプから追加]する方法
があります。

SharePoint フィールド名(内部名)の設定方法

フィールド(列)の種類

SharePointのリスト/ライブラリのフィールド(列)の種類には 以下の種類があります。
・1 行テキスト
・複数行テキスト
・選択肢 (メニューから選択)
・数値 (1, 1.0, 100)
・通貨 ($、¥、?)
・日付と時刻
・参照 (このサイトにある既存の情報)
・はい/いいえ (チェック ボックス)
・ユーザーまたはグループ
・ハイパーリンクまたは画像
・集計値 (他の列を基にした計算結果)
・外部データ

「外部データ」は サイト内の列では作成できませんが、それ以外は サイト内の列でも作成できます。
フィールド(列)の種類ごとに 設定できる項目(例:最大値/最小値など)は異なります。
共通の項目は 「列名」「説明」「既定のビューに追加」などですが、それ以外にも「内部名(internalname)」というものを持っています。
また、リストの設定画面では表示されていないが リスト/ライブラリ定義ごとに 既定の「隠しフィールド」があります。
内部名は フィールドを作成するときの「列名(=表示名)」をもとに 自動的に決まってしまいます。
漢字で列名を指定すると 内部名はひどいことになってしまいます...。

列名 内部名
回答期限_x56de__x7b54__x671f__x9650_
質問カテゴリ_x8cea__x554f__x30ab__x30c6__x30
問い合わせの状態_x554f__x3044__x5408__x308f__x300

フィールドの内部名、隠しフィールドを調べる方法

SharePointリスト/ライブラリ内の1つのフィールド(列)の「内部名(internalname)」は以下の手順で調べます。
1) リスト/ライブラリの設定画面で、列(例:タイトル)をクリック
2) 列の設定画面が表示されたら、URLの末尾を見る

URLの末尾には「&Field=Title」のように、内部名が付加されています。

1フィールドづつ調べていくのは上記の方法でよいのですが、複数のフィールドをまとめて調べたい場合や隠しフィールドを調べたい場合には、別の方法があります。

SharePointのリスト/ライブラリのフィールド(列)の「内部名(internalname)」、 「隠しフィールド」を調べるには リストテンプレートを以下の手順で解析します。
1) リストの設定画面で [リストをテンプレートとして保存]でリストテンプレートを作成
2) リストテンプレートギャラリーで 作成したリストテンプレートをダウンロード
3) ダウンロードしたリストテンプレートの拡張子を stp から cabに変更
4) エクスプローラなどで cabファイルの中身を見て、「manifest.xml」を展開
5) manifest.xmlを XMLエディタ、メモ帳などで開く
6) Fieldsタグを探す...たくさんのフィールドがあることが解る

例えば カスタムリストを作成直後のリストテンプレートを解析すると、以下のフィールドがあることが解ります。

列名 内部名 種類
IDIDCounter
コンテンツ タイプの IDContentTypeIdContentTypeId
コンテンツ タイプContentTypeComputed
タイトルTitleText
更新日時ModifiedDateTime
作成日時CreatedDateTime
作成者AuthorUser
更新者EditorUser
コピー先の有無_HasCopyDestinationsBoolean
コピー元_CopySourceText
owshiddenversionowshiddenversionInteger
ワークフローのバージョンWorkflowVersionInteger
UI バージョン_UIVersionInteger
バージョン_UIVersionStringText
添付ファイルAttachmentsAttachments
承認の状況_ModerationStatusModStat
承認者のコメント_ModerationCommentsNote
編集EditComputed
タイトルLinkTitleNoMenuComputed
タイトルLinkTitleComputed
タイトルLinkTitle2Computed
選択SelectTitleComputed
インスタンス IDInstanceIDInteger
順序OrderNumber
GUIDGUIDGuid
ワークフロー インスタンス IDWorkflowInstanceIDGuid
URL パスFileRefLookup
パスFileDirRefLookup
更新日時Last_x0020_ModifiedLookup
作成日時Created_x0020_DateLookup
アイテムの種類FSObjTypeLookup
並べ替えの種類SortBehaviorLookup
有効な権限マスクPermMaskComputed
名前FileLeafRefFile
固有 IDUniqueIdLookup
クライアント IDSyncClientIdLookup
ProgIdProgIdLookup
ScopeIdScopeIdLookup
ファイルの種類File_x0020_TypeText
HTML ファイルの種類HTML_x0020_File_x0020_TypeComputed
メニュー テーブルの編集の開始_EditMenuTableStartComputed
メニュー テーブルの編集の開始_EditMenuTableStart2Computed
メニュー テーブルの編集の終了_EditMenuTableEndComputed
名前LinkFilenameNoMenuComputed
名前LinkFilenameComputed
名前LinkFilename2Computed
種類DocIconComputed
サーバーの相対 URLServerUrlComputed
エンコードされた絶対 URLEncodedAbsUrlComputed
ファイル名BaseNameComputed
プロパティ バッグMetaInfoLookup
レベル_LevelInteger
現在のバージョン_IsCurrentVersionBoolean
子アイテムの数ItemChildCountLookup
フォルダーの子の数FolderChildCountLookup

ドキュメントライブラリのフィールドは下表の通りです。

列名 内部名 種類
IDIDCounter
コンテンツ タイプの IDContentTypeIdContentTypeId
コンテンツ タイプContentTypeComputed
作成日時CreatedDateTime
作成者AuthorUser
更新日時ModifiedDateTime
更新者EditorUser
コピー先の有無_HasCopyDestinationsBoolean
コピー元_CopySourceText
承認の状況_ModerationStatusModStat
承認者のコメント_ModerationCommentsNote
URL パスFileRefLookup
パスFileDirRefLookup
更新日時Last_x0020_ModifiedLookup
作成日時Created_x0020_DateLookup
ファイル サイズFile_x0020_SizeLookup
アイテムの種類FSObjTypeLookup
並べ替えの種類SortBehaviorLookup
有効な権限マスクPermMaskComputed
アイテムをチェックアウトしているユーザーの IDCheckedOutUserIdLookup
ローカルにチェックアウト済みIsCheckedoutToLocalLookup
チェックアウト先CheckoutUserUser
名前FileLeafRefFile
固有 IDUniqueIdLookup
クライアント IDSyncClientIdLookup
ProgIdProgIdLookup
ScopeIdScopeIdLookup
ウイルスの状態VirusStatusLookup
チェックアウト先CheckedOutTitleLookup
チェックインのコメント_CheckinCommentLookup
チェックアウト先LinkCheckedOutTitleComputed
ドキュメント (更新者)Modified_x0020_ByText
ドキュメント (作成者)Created_x0020_ByText
ファイルの種類File_x0020_TypeText
HTML ファイルの種類HTML_x0020_File_x0020_TypeText
ソース URL_SourceUrlText
共有ファイルのインデックス_SharedFileIndexText
メニュー テーブルの編集の開始_EditMenuTableStartComputed
メニュー テーブルの編集の開始_EditMenuTableStart2Computed
メニュー テーブルの編集の終了_EditMenuTableEndComputed
名前LinkFilenameNoMenuComputed
名前LinkFilenameComputed
名前LinkFilename2Computed
種類DocIconComputed
サーバーの相対 URLServerUrlComputed
エンコードされた絶対 URLEncodedAbsUrlComputed
名前BaseNameComputed
ファイル サイズFileSizeDisplayComputed
プロパティ バッグMetaInfoLookup
レベル_LevelInteger
現在のバージョン_IsCurrentVersionBoolean
子アイテムの数ItemChildCountLookup
フォルダーの子の数FolderChildCountLookup
選択SelectTitleComputed
選択SelectFilenameComputed
編集EditComputed
owshiddenversionowshiddenversionInteger
UI バージョン_UIVersionInteger
バージョン_UIVersionStringText
インスタンス IDInstanceIDInteger
順序OrderNumber
GUIDGUIDGuid
ワークフローのバージョンWorkflowVersionInteger
ワークフロー インスタンス IDWorkflowInstanceIDGuid
ソースのバージョン (変換済みドキュメント)ParentVersionStringLookup
ソース名 (変換済みドキュメント)ParentLeafNameLookup
ドキュメントの同時実行制御番号DocConcurrencyNumberLookup
タイトルTitleText
テンプレートのリンクTemplateUrlText
HTML ファイルのリンクxd_ProgIDText
署名済みxd_SignatureBoolean
結合CombineComputed
再リンクRepairDocumentComputed

ビューに表示するフィールド(列)を選択するときに 同じ名前のフィールドが複数あって どっちがどっち?っとなることってありますよね。それは 表示名が同一のフィールドが複数ある場合なのですが SharePoint内部的には 内部名(InternalName)は異なるから 別物として扱われています。

フィールドの内部名、隠しフィールドが何に影響するか

例えば Webパーツを開発し、特定のリスト/ライブラリのフィールド(列)データを参照/更新する場合に、フィールドの表示名だとサイト管理者などが変更できてしまうので フィールドの内部名でプログラミングします。できれば フィールドのGUIDでフィールドを特定する方法がベストなのですが、そこまで作りこむのは困難かと...。隠しフィールドも フィールドですので 内部名を持っています。隠しフィールドの内部名と同一名フィールドを作成しようとすると、フィールド内部名の後に数字(例: 1)が付加された名称になってしまいます。ですので、一応、隠しフィールドについても 知っておいた方がよろしいかと。


2018年の記事

2017年の記事


風水吉凶方位 風水吉凶方位 |  奇門遁甲 奇門遁甲 |  金運神社 金運神社 |  仏像 仏像 |  論語 論語 |  般若心経 般若心経 |  二十四節気 二十四節気 |  菜根譚 菜根譚 |  SharePoint活用 SharePoint |  OneNote活用 OneNote |  ICT活用 ICT