Ik voel mij erg dom dat ik deze vraag stel, doch ik kom er echt niet verder mee.
Ik maak een programma met Visual Studio 2008 in Visual Basic, een Standaard Windows Form Application. De bedoeling van het programma is dat ik tekst kan invoegen in een formulier met textboxen. De inhoud daarvan wordt na het klikken van een button in een nieuw Word document gezet.
De korte samenvatting van mijn code is als volgt:
Met de code
kan ik teksten uit mijn textboxen in het Word document krijgen. Dit moet echter makkelijker kunnen met een Procedure. Dan kan ik immers eenvoudig toevoegen dat bij een lege textbox de inhoud "[ ]" moet worden.
Ik probeer dat te doen met de Procedure 'writeintocells', door hetzelfde commando te herhalen in de Procedure 'writecells'. Resultaat van bovenstaande gehele code is dat txtRpNaam.Text keurig in een nieuw Word document komt.
De Procedure 'writeintocells' doet echter niets.
Ik zie iets over het hoofd en kan hier helaas niets over vinden bij MSDN, diverse fora. In een Visual Studio Tools for Office kreeg ik een vergelijkbare procedure (met dezelfde insteek, maar dan als AddIn in Word) het wel aan de gang met het commando
Mijn vermoeden is dat de bijzonderheid gelegen is in het feit dat ik van de VB.NET applicatie naar de Word applicatie schakel en vice versa. Een andere mogelijke reden die ik kan bedenken is het feit dat ik in de button_click procedure een Word document aanroep en vervolgens in een andere procedure (writeincells) probeer een actie uit te voeren op hetzelfde document. Daar zou het ook mis kunnen gaan.
De 'handboeken' bieden geen ondersteuning, en vele dagen Google brengen ook geen verlichting. Frustrerend, omdat ik het met de VSTO benadering wel werkend kreeg.
Als iemand een minuut kan sparen om mee te denken, graag. Boeksuggesties zijn ook zeer welkom.
Ik leer VB.NET the hard way door veel te lezen en gewoon te proberen. Echter, Word Automation lijkt in mijn beleving een ondergeschoven kindje in alle Wrox/O'Reilly/Microsoft publicaties
Ik maak een programma met Visual Studio 2008 in Visual Basic, een Standaard Windows Form Application. De bedoeling van het programma is dat ik tekst kan invoegen in een formulier met textboxen. De inhoud daarvan wordt na het klikken van een button in een nieuw Word document gezet.
De korte samenvatting van mijn code is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| Imports Microsoft.Office.Interop Public Class fmAutoText Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click Dim wrdApp As New Word.Application Dim newDoc As Word.Document = wrdApp.Documents.Add wrdApp.Visible = True newDoc.ActiveWindow.Selection.Font.Bold = True newDoc.ActiveWindow.Selection.TypeText(txtRpNaam.Text) newDoc.ActiveWindow.Selection.Font.Bold = False writeintocells(", een ") writeintocells(cbRpVorm.Text) Me.Close() End Sub Private Sub writeintocells(ByVal textinput As String) wrdDoc = New Word.Document If textinput = "" Then textinput = "[ ]" End If wrdDoc.ActiveWindow.Selection.TypeText(textinput) End Sub |
Met de code
code:
1
| newDoc.ActiveWindow.Selection.TypeText(txtRpNaam.Text) |
kan ik teksten uit mijn textboxen in het Word document krijgen. Dit moet echter makkelijker kunnen met een Procedure. Dan kan ik immers eenvoudig toevoegen dat bij een lege textbox de inhoud "[ ]" moet worden.
Ik probeer dat te doen met de Procedure 'writeintocells', door hetzelfde commando te herhalen in de Procedure 'writecells'. Resultaat van bovenstaande gehele code is dat txtRpNaam.Text keurig in een nieuw Word document komt.
De Procedure 'writeintocells' doet echter niets.
Ik zie iets over het hoofd en kan hier helaas niets over vinden bij MSDN, diverse fora. In een Visual Studio Tools for Office kreeg ik een vergelijkbare procedure (met dezelfde insteek, maar dan als AddIn in Word) het wel aan de gang met het commando
code:
1
| Globals.ThisAddIn.Application.ActiveDocument.ActiveWindow.Selection.TypeText(textinput) |
Mijn vermoeden is dat de bijzonderheid gelegen is in het feit dat ik van de VB.NET applicatie naar de Word applicatie schakel en vice versa. Een andere mogelijke reden die ik kan bedenken is het feit dat ik in de button_click procedure een Word document aanroep en vervolgens in een andere procedure (writeincells) probeer een actie uit te voeren op hetzelfde document. Daar zou het ook mis kunnen gaan.
De 'handboeken' bieden geen ondersteuning, en vele dagen Google brengen ook geen verlichting. Frustrerend, omdat ik het met de VSTO benadering wel werkend kreeg.
Als iemand een minuut kan sparen om mee te denken, graag. Boeksuggesties zijn ook zeer welkom.
Ik leer VB.NET the hard way door veel te lezen en gewoon te proberen. Echter, Word Automation lijkt in mijn beleving een ondergeschoven kindje in alle Wrox/O'Reilly/Microsoft publicaties
[ Voor 4% gewijzigd door Wekkel op 21-03-2009 00:00 ]