2015-06-17 6 views
0

Я хочу открыть документ Word программным путем с помощью Microsoft.Interop.Word и вставить комментарий в ячейку таблицы. У меня есть начальное и конечное положение диапазона ячейки. (Range.Start \ Range.End)Microsoft Interops Word Вставить комментарий в столбец Cell Crash Word

Application.ActiveDocument.Select(); // select ative document 
Range rg = Application.Selection.Range; // get the range of the current selection (all document) 


if (rg.Tables.Count > 0) 
{ 

    Microsoft.Office.Interop.Word.Range rngTab = rg; 

    //set the coordinate of the Range of the text 
    rngTab.Start = startRng; 
    rngTab.End = endRng; 


    doc.ActiveWindow.Visible = true; 
    rg.Select(); 
    Application.ActiveDocument.Comments.Add(rngTab, ref commentText);           
    } 

Когда вставка комментария Слово Сбои

+0

слово? без сообщения об ошибке? Правильно ли установлено Word? в какой версии Word? Пожалуйста, добавьте ответы на свой вопрос! –

+0

Microsoft Word 2013, Word установлен правильно и нет сообщения об ошибке, без исключения, просто сбой «Microsoft Word перестает работать», а затем перезапускает слово Microsoft. Если я вставляю комментарий в текстовый текст, он хорошо работает –

+0

Interops Versione 14.0.0.0 –

ответ

0

преобразовать код в паскаль с некоторыми изменениями. Это нормально работает, без ошибок! Смотрите он падает

var WApplication:twordapplication; rg,rngTab:range; 
commentText:olevariant; 
begin 
commentText:='123'; 
WApplication := twordapplication.Create(form1); 
WApplication.Connect; 
WApplication.Visible:=true; 
WApplication.Activate; 
rg:= WApplication.Selection.Range; // get the range of the current selection (all document) 
rngTab:= rg; 
    //set the coordinate of the Range of the text 
    rngTab.Start:= 1; 
    rngTab.End_:= 2; 
    rg.Select(); 
    WApplication.ActiveDocument.Comments.Add(rngTab, commentText);// add comment to text 
    rngtab:=WApplication.ActiveDocument.Tables.Item(1).cell(2,2).range; 
    rngtab.Select(); 
    WApplication.ActiveDocument.Comments.Add(rngTab, commentText); // add comment to cell in the table 
end;