MSWord openen met VBA laat een pop-up niet zien

Status
Niet open voor verdere reacties.

Visara

Gebruiker
Lid geworden
10 mrt 2019
Berichten
217
Goedeavond,

Vanuit Access wil ik een Word document openen met een druk op een knop. Dat werkt. Als ik op de knop druk dan zie ik een balkje onderin mijn scherm oranje knipperen, dat is het zojuist geopende Word-bestand.

Het Word-bestand is een bestand dat "gelinkt" is aan het bewuste Access bestand met Word-Merge / Verzendlijsten.
Als je het Word-bestand op een normale manier opent (dubbel klik op het bestand zelf), zie je deze Pop-up (zie afbeelding) die vraagt of je de gegevens in de SQL in Word wilt updaten. Ja, dat wil ik altijd.
Popup update SQL.jpg

Als ik dit bestand open met de codes hier onder dan zie ik deze pop-up niet.
Het Word-bestand "wil" ook (nog) niet dat 'Verzendlijsten' in Word wordt geopend, ik denk omdat die pop-up nog ergens '"zweeft" en wacht op een "Ja" of "Nee". Ik zie die pop-up nergens.
Ik denk dat alles is opgelost als er automatisch "ja" wordt ingevoerd in die Pop-up van de afbeelding. Dat zou sowieso wenselijk zijn, of de popup nou wel of niet zichtbaar zou zijn.
Kan dat worden toegevoegd aan de code? Kan iemand me laten zien hoe dat moet?

Code:
Function Openword(conPath As String)
Dim appword As Word.Application
Dim doc As Word.Document
On Error Resume Next
Error.Clear
Set appword = GetObject(, "word.application")
If Err.Number <> 0 Then
Set appword = New Word.Application
appword.Visible = True
End If
Set doc = appword.Documents.Open(conPath, , True)
appword.Activate
Set doc = Nothing
Set appword = Nothing
End Function

Private Sub cmdOpenWordCursusOvereenkomst_Click()
Dim mydoc As String
mydoc = "C:\Documents\Naam.docx"
Call Openword(mydoc)
End Sub
 
Laatst bewerkt:
Je kunt dat (redelijk rigoreus) aanpakken door een aanpassing te maken in de Registry, maar ik weet niet of dat de beste oplossing is. Zelf voorkom ik dit soort problemen door de documenten gewoon vanuit Access te genereren; standaardbrieven moeten dat makkelijk kunnen. Of door de samenvoeging vanuit Word op te starten, dan heb je het probleem ook niet. Je kiest, kortom, met afstand de moeilijkste weg. Vanuit Word gebruik ik onderstaande macro om de melding te vermijden.

Ja, dat wil ik altijd.
Waarom nutteloos op Ja klikken, als je tóch altijd voor hetzelfde antwoord kiest? Lijkt mij dan een overbodige handeling. Ik onderdruk de boodschap dus vanuit VBA, want ik zit niet op onzinnige handelingen te wachten. Doe ik met deze functie:
Code:
Function BronAanpassen()
Dim mmds As MailMergeDataSource
Dim sFile As String, sPath As String, sFilePath As String
Dim sConn As String, strSQL As String

    Application.DisplayAlerts = wdAlertsNone
    Set mmds = ActiveDocument.MailMerge.DataSource
    With mmds
        sFile = Split(.Name, "\")(UBound(Split(.Name, "\")))
        sPath = ActiveDocument.Path & "\"
        sFilePath = sPath & sFile
        sConn = .ConnectString
        strSQL = .QueryString
        sConn = Replace(.ConnectString, .Name, sFilePath, 1)
    End With
    ActiveDocument.MailMerge.OpenDataSource _
        Name:=sFilePath, _
        LinkToSource:=True, _
        Connection:=sConn, _
        SQLStatement:=strSQL, _
        SQLStatement1:="", _
        SubType:=wdMergeSubTypeAccess
    Application.DisplayAlerts = wdAlertsAll
    
End Function
Wellicht kun je hem inbouwen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan