fixed: 校对后批注导致得百分号
This commit is contained in:
parent
b97e7d15ee
commit
d37882d6dd
@ -20,7 +20,7 @@ namespace UtilLib
|
|||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public int DocumentId { get; set; }
|
public int DocumentId { get; set; }
|
||||||
|
|
||||||
public ProofreadItem(CorrectItem content,string originSentence,int documentId)
|
public ProofreadItem(CorrectItem content, string originSentence, int documentId)
|
||||||
{
|
{
|
||||||
this.content = content;
|
this.content = content;
|
||||||
this.DocumentId = documentId;
|
this.DocumentId = documentId;
|
||||||
@ -76,7 +76,7 @@ namespace UtilLib
|
|||||||
private void OnMarkSelected(object sender, Microsoft.Office.Tools.Word.SelectionEventArgs e)
|
private void OnMarkSelected(object sender, Microsoft.Office.Tools.Word.SelectionEventArgs e)
|
||||||
{
|
{
|
||||||
//throw new System.NotImplementedException();
|
//throw new System.NotImplementedException();
|
||||||
Bridge.bridge.SelectMarkById(content.Id,DocumentId);
|
Bridge.bridge.SelectMarkById(content.Id, DocumentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Select()
|
public void Select()
|
||||||
@ -134,6 +134,38 @@ namespace UtilLib
|
|||||||
Logger.Log(e);
|
Logger.Log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void PrepareCommentProcess(Bookmark mark)
|
||||||
|
{
|
||||||
|
var doc = Globals.ThisAddIn.Application.ActiveDocument;
|
||||||
|
var fullRange = doc.Range();
|
||||||
|
|
||||||
|
var range = mark.Range;
|
||||||
|
var checkRange = doc.Range(
|
||||||
|
Math.Max(range.Start - 2, fullRange.Start),
|
||||||
|
Math.Min(range.End + 2, fullRange.End)
|
||||||
|
);
|
||||||
|
var comments = checkRange.Comments;
|
||||||
|
Logger.Log("判断是否有批注");
|
||||||
|
// 判断当前书签选区内容是否有评论
|
||||||
|
if (comments != null && comments.Count > 0)
|
||||||
|
{
|
||||||
|
Logger.Log("有批注");
|
||||||
|
foreach (Microsoft.Office.Interop.Word.Comment item in comments)
|
||||||
|
{
|
||||||
|
// 判断当前评论和书签选区是否一致
|
||||||
|
if (item.Scope.Start == range.Start && item.Scope.End == range.End)
|
||||||
|
{
|
||||||
|
Logger.Log("删除批注:" + item.Range.Text);
|
||||||
|
// 删除评论
|
||||||
|
item.Delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Logger.Log("没有批注");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 处理校对项
|
/// 处理校对项
|
||||||
@ -148,6 +180,7 @@ namespace UtilLib
|
|||||||
// 采纳
|
// 采纳
|
||||||
if (status == AcceptStatus.Accept)
|
if (status == AcceptStatus.Accept)
|
||||||
{
|
{
|
||||||
|
PrepareCommentProcess(mark);
|
||||||
if (content.Tag == "r" || content.Tag == "i")
|
if (content.Tag == "r" || content.Tag == "i")
|
||||||
{
|
{
|
||||||
mark.Text = content.Text;
|
mark.Text = content.Text;
|
||||||
@ -191,10 +224,14 @@ namespace UtilLib
|
|||||||
var paragraphEnd = mark.Paragraphs.Last.Range.End;
|
var paragraphEnd = mark.Paragraphs.Last.Range.End;
|
||||||
var end = mark.End + 2 > paragraphEnd ? paragraphEnd : mark.End + 2;
|
var end = mark.End + 2 > paragraphEnd ? paragraphEnd : mark.End + 2;
|
||||||
var rng = Globals.ThisAddIn.ActiveDocument.Range(mark.End, end);
|
var rng = Globals.ThisAddIn.ActiveDocument.Range(mark.End, end);
|
||||||
|
Logger.Log($"开始处理百分号问题:位置({mark.End},{end}) => 内容:{rng.Text}");
|
||||||
|
|
||||||
// 判断书签范围内是否有批注
|
// 判断书签范围内是否有批注
|
||||||
|
|
||||||
if (rng.Text?.IndexOf("%") != -1 && rng.Comments != null && rng.Comments.Count > 0)
|
if (rng.Text?.IndexOf("%") != -1)
|
||||||
|
{
|
||||||
|
Logger.Log($"处理百分号问题:有批注");
|
||||||
|
if (rng.Comments != null && rng.Comments.Count > 0)
|
||||||
{
|
{
|
||||||
for (var i = 1; i < rng.Comments.Count; i++)
|
for (var i = 1; i < rng.Comments.Count; i++)
|
||||||
{
|
{
|
||||||
@ -202,6 +239,11 @@ namespace UtilLib
|
|||||||
comment.Scope.Text = comment.Scope.Text.Replace("%", "");
|
comment.Scope.Text = comment.Scope.Text.Replace("%", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rng.Text = rng.Text.Replace("%", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user