VintaSoft Imaging .NET SDK 14.0: Documentation for .NET developer
In This Topic
    XLSX: Work with comments on XLSX page
    In This Topic
    SpreadsheetEditorControl and WpfSpreadsheetEditorControl controls allow to work (view, add, edit and delete) with comments to the cells of XLSX worksheet in desktop (WinForms, WPF) application.
    Cell comments can be changed visually using mouse/keyboard or programmatically.


    Add a comment to the focused cell of XLSX worksheet

    Here is C#/VB.NET code that demonstrates how to add a comment to the focused cell of XLSX worksheet:
    public void AddCommentToXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor for spreadsheet document
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // prepare parameters of comment
    
        // comment author
        string commentAuthor = "Person";
        // a value indicating whether author name must be shown in comment
        bool showAuthor = true;
        // comment color
        Vintasoft.Primitives.VintasoftColor color = Vintasoft.Primitives.VintasoftColor.FromRgb(128, 128, 192);
        // comment text
        string commentText = "Test comment text";
        // text properties
        Vintasoft.Imaging.Office.Spreadsheet.Document.TextProperties textProperties =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.TextProperties(
                Vintasoft.Imaging.Office.Spreadsheet.Document.TextHorizontalAlign.Left,
                Vintasoft.Imaging.Office.Spreadsheet.Document.TextVerticalAlign.Middle,
                true,
                0);
        // font properties
        Vintasoft.Imaging.Office.Spreadsheet.Document.FontProperties fontProperties =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.FontProperties(
                "Arial", 12, Vintasoft.Primitives.VintasoftColor.Black);
    
        // create new comment
        Vintasoft.Imaging.Office.Spreadsheet.Document.Comment comment =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.Comment(
                commentAuthor,
                showAuthor,
                color,
                commentText,
                textProperties,
                fontProperties);
    
        // get the focused cell
        Vintasoft.Imaging.Office.Spreadsheet.Document.CellReference focusedCell = spreadsheetVisualEditor.FocusedCell;
    
        // comment location
        Vintasoft.Imaging.Office.Spreadsheet.Document.SheetDrawingLocation location =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.SheetDrawingLocation(new Vintasoft.Primitives.VintasoftRect(100, 100, 200, 100));
    
        // create cell comment
        Vintasoft.Imaging.Office.Spreadsheet.Document.CellComment cellComment =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.CellComment(focusedCell, comment, true, location);
    
        // set comment to the focused cell
        spreadsheetVisualEditor.SetCellComment(cellComment);
    }
    
    Public Sub AddCommentToXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor for spreadsheet document
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' prepare parameters of comment
    
        ' comment author
        Dim commentAuthor As String = "Person"
        ' a value indicating whether author name must be shown in comment
        Dim showAuthor As Boolean = True
        ' comment color
        Dim color As Vintasoft.Primitives.VintasoftColor = Vintasoft.Primitives.VintasoftColor.FromRgb(128, 128, 192)
        ' comment text
        Dim commentText As String = "Test comment text"
        ' text properties
        Dim textProperties As New Vintasoft.Imaging.Office.Spreadsheet.Document.TextProperties(Vintasoft.Imaging.Office.Spreadsheet.Document.TextHorizontalAlign.Left, Vintasoft.Imaging.Office.Spreadsheet.Document.TextVerticalAlign.Middle, True, 0)
        ' font properties
        Dim fontProperties As New Vintasoft.Imaging.Office.Spreadsheet.Document.FontProperties("Arial", 12, Vintasoft.Primitives.VintasoftColor.Black)
    
        ' create new comment
        Dim comment As New Vintasoft.Imaging.Office.Spreadsheet.Document.Comment(commentAuthor, showAuthor, color, commentText, textProperties, fontProperties)
    
        ' get the focused cell
        Dim focusedCell As Vintasoft.Imaging.Office.Spreadsheet.Document.CellReference = spreadsheetVisualEditor.FocusedCell
    
        ' comment location
        Dim location As New Vintasoft.Imaging.Office.Spreadsheet.Document.SheetDrawingLocation(New Vintasoft.Primitives.VintasoftRect(100, 100, 200, 100))
    
        ' create cell comment
        Dim cellComment As New Vintasoft.Imaging.Office.Spreadsheet.Document.CellComment(focusedCell, comment, True, location)
    
        ' set comment to the focused cell
        spreadsheetVisualEditor.SetCellComment(cellComment)
    End Sub
    


    Edit the comment of the focused cell of XLSX worksheet

    Here is C#/VB.NET code that demonstrates how to change the comment of focused cell of XLSX worksheet:
    public void ChangeCommentOfXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor for spreadsheet document
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // if focused cell does not have comment
        if (spreadsheetVisualEditor.FocusedCellComment == null)
            throw new System.Exception("Focused cell does not have comment.");
    
        // get source cell comment (the cell with comment should be focused)
        Vintasoft.Imaging.Office.Spreadsheet.Document.CellComment sourceCellComment = 
            spreadsheetVisualEditor.FocusedComment ?? spreadsheetVisualEditor.FocusedCellComment;
    
        Vintasoft.Imaging.Office.Spreadsheet.Document.Comment sourceComment = sourceCellComment.Comment;
    
        // prepare parameters to change in comment
    
        // comment author
        string commentAuthor = "User";
        // comment color
        Vintasoft.Primitives.VintasoftColor color = Vintasoft.Primitives.VintasoftColor.FromRgb(128, 192, 128);
        // comment text
        string commentText = "Comment changed!";
    
        // create new comment with changed properties
        Vintasoft.Imaging.Office.Spreadsheet.Document.Comment comment =
            new Vintasoft.Imaging.Office.Spreadsheet.Document.Comment(
                commentAuthor,
                sourceComment.ShowAuthor,
                color,
                commentText,
                sourceComment.TextProperties,
                sourceComment.FontProperties);
    
        // set comment to the focused cell
        spreadsheetVisualEditor.SetComment(comment);
    }
    
    Public Sub ChangeCommentOfXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor for spreadsheet document
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' if focused cell does not have comment
        If spreadsheetVisualEditor.FocusedCellComment Is Nothing Then
            Throw New System.Exception("Focused cell does not have comment.")
        End If
    
        ' get source cell comment (the cell with comment should be focused)
        Dim sourceCellComment As Vintasoft.Imaging.Office.Spreadsheet.Document.CellComment = If(spreadsheetVisualEditor.FocusedComment, spreadsheetVisualEditor.FocusedCellComment)
    
        Dim sourceComment As Vintasoft.Imaging.Office.Spreadsheet.Document.Comment = sourceCellComment.Comment
    
        ' prepare parameters to change in comment
    
        ' comment author
        Dim commentAuthor As String = "User"
        ' comment color
        Dim color As Vintasoft.Primitives.VintasoftColor = Vintasoft.Primitives.VintasoftColor.FromRgb(128, 192, 128)
        ' comment text
        Dim commentText As String = "Comment changed!"
    
        ' create new comment with changed properties
        Dim comment As New Vintasoft.Imaging.Office.Spreadsheet.Document.Comment(commentAuthor, sourceComment.ShowAuthor, color, commentText, sourceComment.TextProperties, sourceComment.FontProperties)
    
        ' set comment to the focused cell
        spreadsheetVisualEditor.SetComment(comment)
    End Sub
    


    Resize the comment of the focused cell of XLSX worksheet

    If you want to resize the comment of the focused cell of XLSX worksheet using mouse, you should do the following steps:

    Move the comment of the focused cell of XLSX worksheet

    If you want to move (reposition) the comment of the focused cell of XLSX worksheet using mouse, you should do the following steps:

    Change the font properties of focused comment of XLSX worksheet

    Here is C#/VB.NET code that demonstrates how to change the font properties of focused comment of XLSX worksheet:
    public void ChangeFontPropertiesOfXlsxComment(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor for spreadsheet document
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // if focused cell does not have comment
        if (spreadsheetVisualEditor.FocusedCellComment == null)
            throw new System.Exception("Focused cell does not have comment.");
    
        // select comment
        if (spreadsheetVisualEditor.FocusedComment == null)
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment;
    
        // set new font name
        spreadsheetVisualEditor.FontName = "Times New Roman";
    
        // set new font size
        spreadsheetVisualEditor.FontSize = 16;
    
        // set new boldness value
        spreadsheetVisualEditor.IsFontBold = true;
    
        // set new italic font value
        spreadsheetVisualEditor.IsFontItalic = true;
    
        // set new underline font value
        spreadsheetVisualEditor.IsFontUnderline = true;
    
        // set new strikeout font value
        spreadsheetVisualEditor.IsFontStrikeout = true;
    
        // set new font color
        spreadsheetVisualEditor.FontColor = Vintasoft.Primitives.VintasoftColor.Red;
    }
    
    Public Sub ChangeFontPropertiesOfXlsxComment(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor for spreadsheet document
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' if focused cell does not have comment
        If spreadsheetVisualEditor.FocusedCellComment Is Nothing Then
            Throw New System.Exception("Focused cell does not have comment.")
        End If
    
        ' select comment
        If spreadsheetVisualEditor.FocusedComment Is Nothing Then
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment
        End If
    
        ' set new font name
        spreadsheetVisualEditor.FontName = "Times New Roman"
    
        ' set new font size
        spreadsheetVisualEditor.FontSize = 16
    
        ' set new boldness value
        spreadsheetVisualEditor.IsFontBold = True
    
        ' set new italic font value
        spreadsheetVisualEditor.IsFontItalic = True
    
        ' set new underline font value
        spreadsheetVisualEditor.IsFontUnderline = True
    
        ' set new strikeout font value
        spreadsheetVisualEditor.IsFontStrikeout = True
    
        ' set new font color
        spreadsheetVisualEditor.FontColor = Vintasoft.Primitives.VintasoftColor.Red
    End Sub
    


    Change the text properties of focused comment of XLSX worksheet

    Here is C#/VB.NET code that demonstrates how to change the text properties of focused comment of XLSX worksheet:
    public void ChangeTextPropertiesOfXlsxComment(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor for spreadsheet document
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // if focused cell does not have comment
        if (spreadsheetVisualEditor.FocusedCellComment == null)
            throw new System.Exception("Focused cell does not have comment.");
    
        // select comment
        if (spreadsheetVisualEditor.FocusedComment == null)
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment;
    
        // set new text horizontal alignment
        spreadsheetVisualEditor.TextHorizontalAlign =
            Vintasoft.Imaging.Office.Spreadsheet.Document.TextHorizontalAlign.Center;
    
        // set new text vertical alignment
        spreadsheetVisualEditor.TextVerticalAlign =
            Vintasoft.Imaging.Office.Spreadsheet.Document.TextVerticalAlign.Bottom;
    }
    
    Public Sub ChangeTextPropertiesOfXlsxComment(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor for spreadsheet document
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' if focused cell does not have comment
        If spreadsheetVisualEditor.FocusedCellComment Is Nothing Then
            Throw New System.Exception("Focused cell does not have comment.")
        End If
    
        ' select comment
        If spreadsheetVisualEditor.FocusedComment Is Nothing Then
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment
        End If
    
        ' set new text horizontal alignment
        spreadsheetVisualEditor.TextHorizontalAlign = Vintasoft.Imaging.Office.Spreadsheet.Document.TextHorizontalAlign.Center
    
        ' set new text vertical alignment
        spreadsheetVisualEditor.TextVerticalAlign = Vintasoft.Imaging.Office.Spreadsheet.Document.TextVerticalAlign.Bottom
    End Sub
    


    Change the background color of focused comment of XLSX worksheet

    Here is C#/VB.NET code that demonstrates how to change the background color of focused comment of XLSX worksheet:
    public void ChangeBackgroundOfXlsxComment(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor for spreadsheet document
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // if focused cell does not have comment
        if (spreadsheetVisualEditor.FocusedCellComment == null)
            throw new System.Exception("Focused cell does not have comment.");
    
        // select comment
        if (spreadsheetVisualEditor.FocusedComment == null)
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment;
    
        // set new comment background color
        spreadsheetVisualEditor.FillColor = Vintasoft.Primitives.VintasoftColor.Green;
    }
    
    Public Sub ChangeBackgroundOfXlsxComment(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor for spreadsheet document
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' if focused cell does not have comment
        If spreadsheetVisualEditor.FocusedCellComment Is Nothing Then
            Throw New System.Exception("Focused cell does not have comment.")
        End If
    
        ' select comment
        If spreadsheetVisualEditor.FocusedComment Is Nothing Then
            spreadsheetVisualEditor.FocusedComment = spreadsheetVisualEditor.FocusedCellComment
        End If
    
        ' set new comment background color
        spreadsheetVisualEditor.FillColor = Vintasoft.Primitives.VintasoftColor.Green
    End Sub
    


    Delete the comment of focused cell of XLSX worksheet

    If you want to delete the focused comment of XLSX worksheet using mouse, you should do the following steps:
    Here is C#/VB.NET code that demonstrates how to delete the comment of the focused cell of XLSX worksheet:
    public void DeleteCommentOfXlsxCell(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
    {
        // get visual editor
        Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;
    
        // remove comments from selected cells
        spreadsheetVisualEditor.RemoveComments();
    }
    
    Public Sub DeleteCommentOfXlsxCell(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
        ' get visual editor
        Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor
    
        ' remove comments from selected cells
        spreadsheetVisualEditor.RemoveComments()
    End Sub