2010-06-17 2 views
2

Я работаю над проектом, в котором пользователь может вставлять данные в документ, используя поля, свойства документа и переменные. Пользователь также должен уметь удалять данные из документа. До сих пор мне удалось удалить свойство и переменную документа, но я не уверен, как бы я пошел об удалении поля (которое уже вставлено в документ). Обратите внимание, что мне нужно сравнить поле со строкой, и если оно соответствует; удалите его из документа.Как удалить поле из документа Word?

ответ

2

Я предполагаю, что вы используете .NET Interop со Word. В этом случае, я считаю, вы ищете Field.Delete.

Это, конечно, также предполагает, что вы знаете, как получить поле, которое вы ищете, которое обычно должно перечислить через _Document.Fields (или более ограниченный диапазон, если вы знаете его), пока не получите правильный.

+0

Спасибо любезно за ваш ответ. В настоящее время я перечисляю все поля документа, но как я могу прочитать информацию о поле? Например: {DOCPROPERTY MyField/* Mergeformat * /} Как я могу получить «MyField» программно? Я не могу найти подходящую недвижимость в своей области, чтобы сравнить ее. – Fusyion

+0

@Kevin van Zanten - Is 'Field.Code.Text' что вы ищете? –

+0

Да, это именно то, что мне нужно, спасибо вам, а также сэр! – Fusyion

1

Field имеет метод Delete. См. Документацию для Field.Delete.

Так что я думаю, что что-то подобное будет работать:

foreach(Field f in ActiveDocument.Fields) 
{ 
    f.Select(); 
    if(f.Type == TypeYouWantToDelete) 
    { 
     d.Delete(); 
    } 
} 
Смежные вопросы