próbowałem wypełnić formularz pól w programie Microsoft Word przy użyciu C# Interop zgromadzeń z następującego koduwypełnienie pól w programie Word przy użyciu C# i Microsoft Word Interop
string filename = @"N:\mehler\Vorlage2.dotx";
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
doc = word.Documents.Open(filename);
doc.Activate();
foreach (Microsoft.Office.Interop.Word.FormField field in doc.FormFields)
{
switch (field.Name)
{
case "Text2":
field.Range.Text = "1";
break;
default:
break;
}
}
doc.SaveAs2(@"N:\mehler\Ausgefuellt.docx");
doc.Close();
word.Quit();
System.Diagnostics.Process.Start(@"N:\mehler\Ausgefuellt.docx");
Microsoft Word nie może otworzyć pliku Ausgefuellt.docx i pokazuje komunikat informujący, że wystąpił nieznany błąd.
stworzyłem prosty dokument programu Word z odrobiną unformated tekstu i 2 Tekst-Form-Fields
ktoś może mi powiedzieć, co się stało lub jeśli ia mają błąd w moim kodu źródłowego
Edycja : Udało mi się określić problem. Stworzyłem tylko dokument zawierający jedno pole tekstowe. W Word 2013 znajduje się w temacie "Formulare aus Vorversionen" (przetłumaczę to na "Formfields from dawnej wersji") Jeśli skomentuję cały blok foreach, tak żebym tylko otworzył i zachował Dokument, dostaję ten sam wynik.
Jeśli otworzę plik źródłowy bezpośrednio w programie Word, to nie jest problem. Próbowałem też załadować Dokument i uczynić Słowo Widocznym. Wynik wyglądał jak pusta instancja programu Word bez załadowanego dokumentu.
wykonanie w 'otwartym method'? –
Też znalazłem ten temat http://stackoverflow.com/q/17383430/1307426 może to być problem między słowami? – sebastianmehler
Dlaczego próbujesz zaktualizować szablon? Może powinieneś wydać 'Word.Documents.Add (filename);' tak Word stworzy ** nowy ** dokument oparty na twoim szablonie ... –