Próbuję przechowywać metadane (w zasadzie unikalny identyfikator) wraz z każdą komórką tabeli w dokumencie programu Word. Obecnie dla dodatku, który rozwijam, przeszukuję bazę danych i buduję tabelę wewnątrz dokumentu programu Word przy użyciu danych, które są pobierane.Czy można przechowywać ukryte informacje o metadanych powiązane z określoną tabelą lub komórką w dokumencie programu Word?
Chcę móc zapisać dowolne zmiany wprowadzone przez użytkownika w dokumencie i zachować je w bazie danych. Moją początkową myślą było przechowywanie unikalnego identyfikatora wraz z każdą komórką w tabeli, aby móc stwierdzić, które rekordy mają zostać zaktualizowane. Chciałbym również zapisać flagę "isChanged" w każdej komórce, aby móc stwierdzić, które komórki zostały zmienione. Zauważyłem, że mogę dodać potrzebne informacje do właściwości "ID" komórki - jednak informacje te nie zostały zachowane, jeśli użytkownik zapisał dokument, zamknął go i ponownie go otworzył. Następnie próbowałem przechowywać dane, dodając dane do kolekcji "Fields" - ale to nie zadziałało i spowodowało błąd runtime. Oto kod, który próbowałem:
object t1 = Word.WdFieldType.wdFieldEmpty;
object val = "myValue: " + counter;
object preserveFormatting = true;
tbl.Cell(i, j).Range.Fields.Add(tbl.Cell(i, j).Range, ref t1, ref val, ref preserveFormatting);
Kompiluje dobrze, ale zgłasza ten błąd środowiska wykonawczego "To polecenie nie jest dostępne".
Czy to w ogóle możliwe? Czy kierujemy się w złym kierunku?
Z góry dziękuję.
Którą wersją programu Word kierujesz? Czy to jest dokument XML, dokument Word 2007, format Rich Text? – AMissico
Przepraszam, powinienem już o tym wspomnieć. Kierowanie na wersję 2007, a jest to dokument Word 2007. – leftend