作成日: 2022/10/21 最終更新日: 2022/10/21
文書種別
技術情報
詳細
はい。IWorkbookSetインタフェースのUserNameプロパティでユーザー名を取得することができますので、これをコメントに追加することで実現可能です。
以下の例では、右クリックでコンテキストメニューを表示し、ユーザー名を入れたセルコメントを追加します。
以下の例では、右クリックでコンテキストメニューを表示し、ユーザー名を入れたセルコメントを追加します。
なお、セルコメントを使用する場合には、EnhancedShapeEngineプロパティをTrueに設定して拡張シェイプエンジンを有効にする必要があります。
◎サンプルコード(VB)
Imports FarPoint.Win.Spread
Public Class Form1
Private cMenu As ContextMenuStrip
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 拡張シェイプエンジンを有効にする
FpSpread1.Features.EnhancedShapeEngine = True
' コンテキストメニューの作成
cMenu = New ContextMenuStrip()
cMenu.Items.Add("コメント追加", Nothing, New System.EventHandler(AddressOf CommentAdd))
End Sub
Private Sub CommentAdd(ByVal sender As Object, ByVal e As System.EventArgs)
Dim username = FpSpread1.AsWorkbook().WorkbookSet.UserName + ":"
Dim richText = New GrapeCity.Spreadsheet.RichText(username + "更新")
FpSpread1.AsWorkbook().ActiveSheet.ActiveCell.AddComment(richText)
FpSpread1.AsWorkbook().ActiveSheet.ActiveCell.Comment.Visible = True
End Sub
Private Sub FpSpread1_CellClick(sender As Object, e As CellClickEventArgs) Handles FpSpread1.CellClick
' マウスの右ボタンでクリックされた場合
If e.Button = System.Windows.Forms.MouseButtons.Right Then
' アクティブセルの設定
FpSpread1.ActiveSheet.SetActiveCell(e.Row, e.Column)
' コンテキストメニューの表示
cMenu.Show(FpSpread1, e.X, e.Y)
End If
End Sub
End Class
◎サンプルコード(C#)
private ContextMenuStrip cMenu;
private void Form1_Load(object sender, EventArgs e)
{
// 拡張シェイプエンジンを有効にする
fpSpread1.Features.EnhancedShapeEngine = true;
// コンテキストメニューの作成
cMenu = new ContextMenuStrip();
cMenu.Items.Add("コメント追加", null, new System.EventHandler(CommentAdd));
}
private void CommentAdd(object sender, System.EventArgs e)
{
var username = fpSpread1.AsWorkbook().WorkbookSet.UserName + ":";
var richText = new GrapeCity.Spreadsheet.RichText(username + "更新");
fpSpread1.AsWorkbook().ActiveSheet.ActiveCell.AddComment(richText);
fpSpread1.AsWorkbook().ActiveSheet.ActiveCell.Comment.Visible = true;
}
private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
// マウスの右ボタンでクリックされた場合
if (e.Button == MouseButtons.Right)
{
// アクティブセルの設定
fpSpread1.ActiveSheet.SetActiveCell(e.Row, e.Column);
// コンテキストメニューの表示
cMenu.Show(fpSpread1, e.X, e.Y);
}
}
<実行イメージ>