MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > セル > セルコメント |
SPREAD for Windows Forms では、ワークシートのセルにコメントを追加できます。 プレーンテキストのコメントまたはノートを追加するには、「セルノート」トピックを参照してください。
さらに、EnhancedShapeEngineプロパティを有効にして文字列、IRange.AddCommentメソッドを使用してリッチテキストのインスタンスを追加できます。
追加されたコメントをIRange.Commentプロパティを使用して編集できます。例えば、次の画像はデフォルトコメントとカスタマイズされたコメントの両方を表示します。カスタマイズされたコメントの場合は、常に表示するようにし、背景色、シェイプ罫線スタイル、罫線色などプロパティも設定されています。
次のサンプルコードは、コメントを設定する方法を示します。
C# |
コードのコピー
|
---|---|
// アクティブシートを取得します。 GrapeCity.Spreadsheet.IWorksheet TestActiveSheet = fpSpread1.AsWorkbook().ActiveSheet; // 拡張シェイプエンジンを有効にします。 fpSpread1.Features.EnhancedShapeEngine = true; string username = "Admin" + ":"; // リッチテキストオブジェクトを初期化します。 GrapeCity.Spreadsheet.RichText richText = new GrapeCity.Spreadsheet.RichText(username + "これはコメントをサポートする\r\nリッチテキストです。"); // スタイル設定 GrapeCity.Spreadsheet.Font font = GrapeCity.Spreadsheet.Font.Empty; font.Bold = true; GrapeCity.Spreadsheet.Font font2 = GrapeCity.Spreadsheet.Font.Empty; font2.Italic = true; font2.Underline = GrapeCity.Spreadsheet.UnderlineStyle.Double; // リッチテキストにスタイルを追加します。 richText.Format(0, username.Length, font); richText.Format(17, 9, font2); // セルにコメントを追加します。 GrapeCity.Spreadsheet.IComment comment = TestActiveSheet.Cells["B2"].AddComment(richText); // コメントスタイルをカスタマイズします。 TestActiveSheet.Cells["B2"].Comment.Visible = true; // 常にコメントを表示します。 TestActiveSheet.Cells["B2"].Comment.Shape.Fill.BackColor.ARGB = Color.Orange.ToArgb(); // コメントの背景色を変更します。 TestActiveSheet.Cells["B2"].Comment.Shape.Line.Style = GrapeCity.Drawing.LineStyle.ThickThin; // 罫線のスタイルを変更します。 TestActiveSheet.Cells["B2"].Comment.Shape.Line.Weight = 5; // 罫線の太さを変更します。 TestActiveSheet.Cells["B2"].Comment.Shape.Line.ForeColor.ARGB = Color.DeepSkyBlue.ToArgb(); // 罫線の色を変更します。 |
VB |
コードのコピー
|
---|---|
'アクティブシートを取得します。 Dim TestActiveSheet As GrapeCity.Spreadsheet.IWorksheet = FpSpread1.AsWorkbook().ActiveSheet '拡張シェイプエンジンを有効にします。 FpSpread1.Features.EnhancedShapeEngine = True Dim username As String = "Admin" & ":" 'リッチテキストオブジェクトを初期化します。 Dim richText As GrapeCity.Spreadsheet.RichText = New GrapeCity.Spreadsheet.RichText(username & vbCrLf & "これはコメントをサポートする" & vbCrLf & "リッチテキストです。") 'スタイル設定 Dim font As GrapeCity.Spreadsheet.Font = GrapeCity.Spreadsheet.Font.Empty font.Bold = True Dim font2 As GrapeCity.Spreadsheet.Font = GrapeCity.Spreadsheet.Font.Empty font2.Italic = True font2.Underline = GrapeCity.Spreadsheet.UnderlineStyle.Double 'リッチテキストにスタイルを追加します。 richText.Format(0, username.Length, font) richText.Format(17, 9, font2) 'セルにコメントを追加します。 Dim comment As GrapeCity.Spreadsheet.IComment = TestActiveSheet.Cells("B2").AddComment(richText) 'コメントスタイルをカスタマイズします。 TestActiveSheet.Cells("B2").Comment.Visible = True '常にコメントを表示します。 TestActiveSheet.Cells("B2").Comment.Shape.Fill.BackColor.ARGB = Color.Orange.ToArgb() 'コメントの背景色を変更します。 TestActiveSheet.Cells("B2").Comment.Shape.Line.Style = GrapeCity.Drawing.LineStyle.ThickThin '罫線のスタイルを変更します。 TestActiveSheet.Cells("B2").Comment.Shape.Line.Weight = 5 '罫線の太さを変更します。 TestActiveSheet.Cells("B2").Comment.Shape.Line.ForeColor.ARGB = Color.DeepSkyBlue.ToArgb() '罫線の色を変更します。 |
Spread UI では、スレッド化されたコメントを表示することができます。これにより、ワークブックに複数のコメントを接続し、仮想会話のように表すことができます。
スレッド化されたコメントを追加するには、IRange.AddCommentThreaded メソッドを使用します。
C# |
コードのコピー
|
---|---|
// スレッド化されたコメント fpSpread1.LegacyBehaviors = LegacyBehaviors.None; fpSpread1.Features.EnhancedShapeEngine = true; fpSpread1.AsWorkbook().TestActiveSheet.Cells["C5"].AddCommentThreaded("スレッド化されたコメントがサポートされています").AddReply("First reply"); |
VB |
コードのコピー
|
---|---|
' スレッド化されたコメント fpSpread1.LegacyBehaviors = LegacyBehaviors.None fpSpread1.Features.EnhancedShapeEngine = True fpSpread1.AsWorkbook().TestActiveSheet.Cells("C5").AddCommentThreaded("スレッド化されたコメントがサポートされています").AddReply("First reply") |
コメントに塗りつぶしの色やパターンなどのグラデーション効果を適用することで、コメントを強調表示することができます。
グラデーション効果を適用するには、IShapeBase インターフェースの Fill プロパティを使用します。このプロパティは、指定した図形の塗りつぶしの書式設定プロパティを含む、IFillFormat インターフェースのオブジェクトを返します。
C# |
コードのコピー
|
---|---|
fpSpread1.Features.EnhancedShapeEngine = true; IShape shape; shape = TestActiveSheet.Cells["A1"].AddComment("InsetPen = false").Shape; TestActiveSheet.Cells["A1"].Comment.Visible = true; shape.Fill.OneColorGradient(GrapeCity.Spreadsheet.Drawing.GradientStyle.FromCenter, 1, 1); shape.Fill.GradientStops.Delete(0); shape.Fill.GradientStops.Delete(0); shape.Fill.GradientStops.Delete(0); shape.Fill.GradientStops.Insert(0xffff00, 0); shape.Fill.GradientStops.Insert(0xffffff, 0.5); shape.Fill.GradientStops.Insert(0x00ffff, 1); shape.Fill.GradientStops[0].Color.SchemeColor = 23; shape.Fill.PathShadeType = GrapeCity.Drawing.PathShadeType.Shape; IShape aa = fpSpread1.AsWorkbook().ActiveSheet.Cells["A1"].Comment.Shape; |
VB |
コードのコピー
|
---|---|
fpSpread1.Features.EnhancedShapeEngine = True Dim shape As IShape shape = TestActiveSheet.Cells("A1").AddComment("InsetPen = false").Shape TestActiveSheet.Cells("A1").Comment.Visible = True shape.Fill.OneColorGradient(GrapeCity.Spreadsheet.Drawing.GradientStyle.FromCenter, 1, 1) shape.Fill.GradientStops.Delete(0) shape.Fill.GradientStops.Delete(0) shape.Fill.GradientStops.Delete(0) shape.Fill.GradientStops.Insert(0xffff00, 0) shape.Fill.GradientStops.Insert(0xffffff, 0.5) shape.Fill.GradientStops.Insert(0x00ffff, 1) shape.Fill.GradientStops(0).Color.SchemeColor = 23 shape.Fill.PathShadeType = GrapeCity.Drawing.PathShadeType.Shape Dim aa As IShape = fpSpread1.AsWorkbook().ActiveSheet.Cells("A1").Comment.Shape |
実行時に[塗りつぶし効果]ダイアログを使用して、グラデーション塗りつぶし効果を追加または操作できます。[塗りつぶし効果]ダイアログには、色、バリアント、シェーディングの種類、パターン、グラデーション効果を表示するためのサンプルプレビューなどのオプションが用意されています。
実行時に[塗りつぶし効果]ダイアログを呼び出すには、シート内のコメントを選択し、[Ctrl]+[1 ]のキーボード ショートカット キーを使用するか、組み込みのコンテキスト メニューから [コメントの書式設定] オプションを使用します。
[塗りつぶし効果] ダイアログを開くには、[コメントの書式設定] ダイアログで、[色]タブに移動し、[カラーピッカー]ドロップダウンから[塗りつぶし効果] オプションを選択します。
キーボード ショートカットを使用する場合は、ExcelCompatibleKeyboardShortcuts プロパティを true に設定する必要があります 。 |
実行時に [塗りつぶし効果]ダイアログを呼び出すには、BuiltInDialogs クラスの FillEffects メソッドを使用します。このクラスの詳細については、[組み込みダイアログの操作]を参照してください。
SPREAD デザイナでコメントを表示し、てグラデーション効果を追加するには、次の手順に従います。
ワークシート内のコメント内の文字列を書式設定すると、コメントまたはノートの外観と読みやすさを向上し、注釈をより魅力的に表示できます。Spreadでは、文字列を水平または垂直に配置できます。そして、TextOrientation 列挙体の HorizontalRotatedFarEast プロパティを使用して、セルコメント内の文字列の方向と書式を設定できます。また、このプロパティを使用して、文字列を垂直に積み重ねて表示することができます。
メモ:セルコメントの文字列の方向を設定する場合は、EnhancedShapeEngine プロパティを true に設定する必要があります。 |
コードの使用
次のサンプルコードは、セルコメントの文字列の方向を変更する方法を示しています。
C# |
コードのコピー
|
---|---|
// セルコメントの積み重ねられた文字列の方向を描画するためのサポートを追加します fpSpread1.Features.EnhancedShapeEngine = true; var activeSheet = fpSpread1.AsWorkbook().ActiveSheet; var comment = activeSheet.Cells["A1"].AddComment("Vertical\n text"); comment.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast; comment.Shape.TextFrame.WordWrap = true; comment.Shape.Height = 200; comment.Visible = true; var comment2 = activeSheet.Cells["C1"].AddComment("このテキストの詳細を示します"); comment2.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast; comment2.Shape.TextFrame.WordWrap = true; comment2.Shape.Height = 200; comment2.Visible = true; var comment3 = activeSheet.Cells["E1"].AddComment("abc"); comment3.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast; comment3.Shape.TextFrame.HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.Justify; comment3.Shape.TextFrame.VerticalAlignment = GrapeCity.Spreadsheet.VerticalAlignment.Justify; comment3.Shape.Height = 40; comment3.Visible = true; |
VB |
コードのコピー
|
---|---|
' セルコメントの積み重ねられた文字列の方向を描画するためのサポートを追加します fpSpread1.Features.EnhancedShapeEngine = True Dim activeSheet = fpSpread1.AsWorkbook().ActiveSheet Dim comment = activeSheet.Cells("A1").AddComment("Vertical" & vbLf & " text") comment.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast comment.Shape.TextFrame.WordWrap = True comment.Shape.Height = 200 comment.Visible = True Dim comment2 = activeSheet.Cells("C1").AddComment("このテキストの詳細を示します") comment2.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast comment2.Shape.TextFrame.WordWrap = True comment2.Shape.Height = 200 comment2.Visible = True Dim comment3 = activeSheet.Cells("E1").AddComment("abc") comment3.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast comment3.Shape.TextFrame.HorizontalAlignment = GrapeCity.Spreadsheet.HorizontalAlignment.Justify comment3.Shape.TextFrame.VerticalAlignment = GrapeCity.Spreadsheet.VerticalAlignment.Justify comment3.Shape.Height = 40 comment3.Visible = True |
実行時に文字列の方向の変更
「コメントの書式設定」 ダイアログを使用して、セルコメントの文字列の方向を変更します。実行時にダイアログを開くには、次の手順に従います。
C# |
コードのコピー
|
---|---|
fpSpread1.Features.EnhancedShapeEngine = true; var activeSheet = fpSpread1.AsWorkbook().ActiveSheet; var comment = activeSheet.Cells["A1"].AddComment("このテキストの詳細を示します"); comment.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast; comment.Visible = true; |
VB |
コードのコピー
|
---|---|
fpSpread1.Features.EnhancedShapeEngine = True Dim activeSheet = fpSpread1.AsWorkbook().ActiveSheet Dim comment = activeSheet.Cells("A1").AddComment("このテキストの詳細を示します") comment.Shape.TextFrame.Orientation = GrapeCity.Spreadsheet.Drawing.TextOrientation.HorizontalRotatedFarEast comment.Visible = True |