comment
Excelでは、コメントを挿入してセルにメモを追加することができます。このとき、コメントの内容はコメント用のパーツに保存されます。
Excelではコメントパーツはワークブックと同じxlフォルダ下に作成されます。コメントのパーツはシート単位に作成され、comment1.xml、comment2.xmlという具合にcommentn.xml(nは整数)というファイル名になります。
このときの番号は、シートの番号と必ずしも一致しません。例えば、シートが3つあって、順にsheet1.xml、sheet2.xml、sheet3.xmlとなっていたとします。sheet2とsheet3でコメントを作成した場合、作成されるコメントパーツのファイル名はcomment1.xmlとcomment2.xmlになります。
SpreadsheetMLのコメントパーツは次のような構造になっています。
comments要素をルートとしてauthors要素とcommentList要素があります。authors要素はコメント作者の情報がauthor要素によって列挙されます。
commentList要素の中にcomment要素によってコメントが列挙されます。1つのcomment要素が1つのコメントを表します。
comennt要素はauthorId属性とref属性を持っています。authorId属性には、author要素のインデックスが、ref属性にはセルのリファレンスが指定されています。
comment要素の子要素のtext要素にコメントが格納されますが、text要素の構造は次のようになっています。
t要素の内容がコメントのテキストデータです。text要素の子要素としてt要素が現れる場合と、テキストデータはRunとして(レイアウトプロパティを伴って)r要素が現れる場合があります。
サンプルで示した1件分のコメントパーツは次のようになっています。
コメントが挿入されているワークシートのデータを見ると、ワークシートのsheetDataにはコメントに関する情報は何も書かれていません。コメントはワークシートから完全に分離された形になっています。ワークシートとコメントは関連付けファイルによって結び付けられます。
worksheets/_relsフォルダにワークシートごとの関連付けファイルがあります。
このサンプルではコメントを挿入したsheet2.xmlの関連付けファイルはsheet2.xml.relsです。このファイルにはコメントのパーツが作成された時点で次の要素が追加されています。
ここから、このシートにはコメントが挿入されていて、コメントのパーツが../comments1.xmlであるということになります。