Witam!
Mam pewien problem z wypełnieniem programowo pola tekstowego formularza.
Mam stworzony dokument Word-a w którym jest pole tekstowe formularza o nazwie "Tekst1" i CheckBox o nazwie "Wybór1".
Chciałbym aby po otwarciu istniejącego dokumentu móc programowo odczytać-zapisać pole tekstowe i zaznaczyć CheckBox-a.
Dokument jest w trybie ograniczonego edytowania, dozwolone jest tylko wypełnianie formularzy.
Mogę odczytać pole tekstowe i zaznaczyć CheckBox, ale gdy chcę wypełnić pole tekstowe to wyrzuca mi wyjątek: "Nie możesz edytować tego zaznaczenia, ponieważ jest objęte ochroną."
Zaznaczam, że jak otworzę plik z poziomu Worda to mogę normalnie wypełnić to pole.
W załączniku plik Worda.
Proszę o pomoc
using Word = Microsoft.Office.Interop.Word;
private void button3_Click(object sender, EventArgs e)
{
Word._Application WordApp;
Word._Document WordDoc;
WordApp = new Word.Application();
WordApp.Visible = true;
WordDoc = WordApp.Documents.Open(@"E:\Programowanie_Word\kontrolki.docx");
foreach (Word.FormField field in WordDoc.FormFields)
{
switch (field.Name)
{
case "Tekst1":
textBox1.Text = field.Range.Text; //to działa tzn poprawnie sczytuje pole tekstowe
field.Range.Text = "texcik"; //tu wywala wyjątek, że pole objęte jest ochroną
break;
case "Wybór1":
field.CheckBox.Value = true; //to działa
break;
default:
break;
}
}
}