C# 复制指定范围内的Excel单元格注释

C# 复制指定范围内的Excel单元格注释,c#,office-interop,excel-interop,C#,Office Interop,Excel Interop,在指定范围内复制所有单元格注释(单击鼠标右键-插入注释)的方法是什么 Range r1 = (Range)ws1.get_Range("A1", "C10"); Range r2 = (Range)ws2.get_Range("A1", "C10"); r2.Value = r1.Value; // copies cell values and ignores comments 我知道r1.复制(r2)会复制值和注释,但由于验证问题,它会显示不必要的Excel对话框,因此我无法使用它。对于范围

在指定范围内复制所有单元格注释(单击鼠标右键-插入注释)的方法是什么

Range r1 = (Range)ws1.get_Range("A1", "C10");
Range r2 = (Range)ws2.get_Range("A1", "C10");
r2.Value = r1.Value; // copies cell values and ignores comments

我知道
r1.复制(r2)
会复制值和注释,但由于验证问题,它会显示不必要的Excel对话框,因此我无法使用它。

对于
范围
有一个
AddComment
方法。不幸的是,它不能应用于一系列单元格。我猜他们是这样想的:为什么你想让同一条评论写多次?因此,您必须循环:

for (int r = 1; r <= r1.Rows.Count; r++)
{
    for (int c = 1; c <= r1.Columns.Count; c++)
    {
        r2[r, c].AddComment(r1.Comment);
    }
}
for(int r=1;r