Ik ben druk bezig mijn C# applicatie die via early binding een document aanpast om te zetten naar late binding zodat mijn applicatie ook op andere versies van Word werkt.
Ik heb hier al een topic over: \[C#, Word, win2003Server] COM class factory error maar omdat de topic post over iets anders gaat, ben ik maar dit nieuwe topic gestart. Dat is wel zo overzichtelijk, dacht ik.
Het probleem waar ik nu nog mee zit is dat ik een voorgedefinieerde tabel heb met drie kolommen en 1 rij. Ik wil de tabel vullen door gegevens uit mijn Oracle tabel daar in te zetten. In mijn early binding deed ik dat door 1 cell in te vullen, vervolgens naar de volgende cell te gaan met
Nu wil ik hetzelfde doen met late bindig maar daar kom ik nog niet echt uit.
Misschien moet ik het op een andere manier doen. Het gaat er in ieder geval om dat ik op een specifieke plaatst in het document een reeks data moet plaatsen waarvan ik wel weet hoeveel kolommen maar het aantal rijen niet weet.
Code wat ik al heb geprobeerd is oa.
Ik krijg dan deze error:
Als iemand een ander idee heeft om dit op te lossen dan hoor ik het graag.
Wat ik ook graag zou willen weten is of er een overzicht is van de Properties en InvokeMethods die binnen late binding beschikbaar zijn. Ik heb al bij Microsoft gezocht maar daar kon ik het niet vinden. Overigens heb ik nauwelijks voorbeeldcode van late binding van Word gevonden bij MS.
Ik heb hier al een topic over: \[C#, Word, win2003Server] COM class factory error maar omdat de topic post over iets anders gaat, ben ik maar dit nieuwe topic gestart. Dat is wel zo overzichtelijk, dacht ik.
Het probleem waar ik nu nog mee zit is dat ik een voorgedefinieerde tabel heb met drie kolommen en 1 rij. Ik wil de tabel vullen door gegevens uit mijn Oracle tabel daar in te zetten. In mijn early binding deed ik dat door 1 cell in te vullen, vervolgens naar de volgende cell te gaan met
C#:
1
2
| Object oUnit = Word.WdUnits.wdCell; _WordDoc.ActiveWindow.Selection.MoveRight(ref oUnit, ref _missing, ref _missing); |
Nu wil ik hetzelfde doen met late bindig maar daar kom ik nog niet echt uit.
Misschien moet ik het op een andere manier doen. Het gaat er in ieder geval om dat ik op een specifieke plaatst in het document een reeks data moet plaatsen waarvan ik wel weet hoeveel kolommen maar het aantal rijen niet weet.
Code wat ik al heb geprobeerd is oa.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| object objSelection = wordType.InvokeMember( "Selection", BindingFlags.GetProperty, null, wordApplication, new object[] { }); //wdCell = 12 wordType.InvokeMember( "MoveRight", BindingFlags.InvokeMethod, null, objSelection, new object[] { 12 }); |
Ik krijg dan deze error:
code:
1
2
| This method or property is not available because some or all of the object does not refer to a table. |
Als iemand een ander idee heeft om dit op te lossen dan hoor ik het graag.
Wat ik ook graag zou willen weten is of er een overzicht is van de Properties en InvokeMethods die binnen late binding beschikbaar zijn. Ik heb al bij Microsoft gezocht maar daar kon ik het niet vinden. Overigens heb ik nauwelijks voorbeeldcode van late binding van Word gevonden bij MS.