Ik heb een programma in VB.Net gemaakt die een mailmerge uitvoert naar Word2000. Globaal worden in het programma de volgende stappen uitgevoerd:
- De gegevens van een query worden weggeschreven naar een .txt-bestand in kommagescheiden formaat: klantnr,naam,adres,postcode,plaats
- Word wordt opgestart en het mailmergedocument wordt geopend
- De mailmerge wordt uitgevoerd
Ik heb het programma geintalleerd op drie PC's waarop beide Word2000 is geinstalleerd. Op twee PC's draait het programma zonder problemen, op de derde PC wordt de derde stap niet goed uitgevoerd. Als de mailmerge op het document wordt uitgevoerd, dan wordt de komma niet gezien als scheidingsteken. Ik krijg dan bij het mergen op elk veld de foutmelding dat het desbetreffende veld niet wordt gevonden in het databestand, maar dat het kan worden vervangen door "klantnrnaamadrespostcodewoonplaats".
Word interpreteert de komma dus niet als scheidingsteken, maar negeert de komma compleet en ziet maar één veld.
Het uitvoeren van de mailmerge heb ik in VB.NET als gevolgt geprogrammeerd:
Als ik op de derde PC echter handmatig het mailmergedocument open en de mailmerge wil uitvoeren, dan wordt wel alle gegevens correct uit het databestand gelezen en wordt de mailmerge correct uitgevoerd.
Conclusie is dus dat de gegevens in het databestand correct zijn, maar dat er expliciet een scheidingsteken moet worden ingesteld. Op de desbetreffende PC heb ik geprobeerd om in Word handmatig een datasource aan het document te koppelen, maar nergens wordt een mogelijk scheidingsteken aangegeven.
Is het mogelijk om de problemen op de derde PC via VB.NET of Word op te lossen?
- De gegevens van een query worden weggeschreven naar een .txt-bestand in kommagescheiden formaat: klantnr,naam,adres,postcode,plaats
- Word wordt opgestart en het mailmergedocument wordt geopend
- De mailmerge wordt uitgevoerd
Ik heb het programma geintalleerd op drie PC's waarop beide Word2000 is geinstalleerd. Op twee PC's draait het programma zonder problemen, op de derde PC wordt de derde stap niet goed uitgevoerd. Als de mailmerge op het document wordt uitgevoerd, dan wordt de komma niet gezien als scheidingsteken. Ik krijg dan bij het mergen op elk veld de foutmelding dat het desbetreffende veld niet wordt gevonden in het databestand, maar dat het kan worden vervangen door "klantnrnaamadrespostcodewoonplaats".
Word interpreteert de komma dus niet als scheidingsteken, maar negeert de komma compleet en ziet maar één veld.
Het uitvoeren van de mailmerge heb ik in VB.NET als gevolgt geprogrammeerd:
Visual Basic .NET:
1
2
3
4
| With objDoc.MailMerge .OpenDataSource(Application.StartupPath & "\Data.txt") .Execute() End With |
Als ik op de derde PC echter handmatig het mailmergedocument open en de mailmerge wil uitvoeren, dan wordt wel alle gegevens correct uit het databestand gelezen en wordt de mailmerge correct uitgevoerd.
Conclusie is dus dat de gegevens in het databestand correct zijn, maar dat er expliciet een scheidingsteken moet worden ingesteld. Op de desbetreffende PC heb ik geprobeerd om in Word handmatig een datasource aan het document te koppelen, maar nergens wordt een mogelijk scheidingsteken aangegeven.
Is het mogelijk om de problemen op de derde PC via VB.NET of Word op te lossen?