通过c#打开word文档,并且修订的时候,同时给修订的内容增加批注。需求是张三通过c#打开本地的一个word文档,打开的时候开启修订模式,这个修订功能实现了,现在需要修订内容的地方,实时增加批注,也就是用户只要加了一个字,修订跟批注的样式都展示出来,这个功能当前没有实现,希望有人给点指引。希望实现批注也展示,图片如下

代码如下:
path你们不用管,是word文档路径,nickName是修订人,需要把这个修订人放到批注里面
```c#
private void EnableRevisionsInWord(string path, string nickName)
{
Document wordDoc = null;
try
{
// 设置 Word 用户名,以便批注显示在指定用户下
wordApp.UserName = nickName; // 设置用户名为批注作者
// 打开 Word 文档
wordDoc = wordApp.Documents.Open(path, ReadOnly: false, Visible: true);
wordApp.Visible = true;
// 启用修订
wordDoc.TrackRevisions = true; // 启用修订,允许修改的痕迹
wordDoc.ShowRevisions = true; // 显示修订
// 启用批注
wordApp.ActiveWindow.View.ShowRevisionsAndComments = true; // 显示批注
// 设置视图以显示修订及批注
wordApp.ActiveWindow.View.RevisionsView = WdRevisionsView.wdRevisionsViewFinal; // 修订视图设置为 Final(显示最终修订,包括批注)
// 强制显示批注
AddCommentsToRevisions(wordDoc, nickName);
}
catch (Exception ex)
{
LogMessage("EnableRevisionsInWord exception: " + ex.Message);
}
}
private void AddCommentsToRevisions(Document document, string nickName)
{
try
{
var revisions = document.Revisions;
int revisionCount = revisions.Count;
// 使用 HashSet 来存储已添加批注的位置
HashSet<int> commentedRevisions = new HashSet<int>();
// 防止重复添加批注
foreach (Comment existingComment in document.Comments)
{
commentedRevisions.Add(existingComment.Scope.Start);
}
for (int i = 1; i <= revisionCount; i++)
{
var revision = revisions[i];
var range = revision.Range;
// 检查修订是否已有批注
if (!commentedRevisions.Contains(range.Start))
{
string revisionText = range.Text;
// 在批注内容中嵌入修订人信息,以确保修订人不被覆盖
string commentText = $"修订人: {nickName} | 修订类型: {revision.Type}, 内容: {revisionText}";
// 直接添加批注文本,不依赖 UserName
document.Comments.Add(range, commentText);
// 将该修订位置添加到集合中
commentedRevisions.Add(range.Start);
}
}
}
catch (Exception ex)
{
MessageBox.Show("添加批注失败:" + ex.Message);
}
}
```