IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Publipostage via VBA et problème de rafraichissement et paramètres de sécurité


Sujet :

VBA Access

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2023
    Messages : 53
    Par défaut Publipostage via VBA et problème de rafraichissement et paramètres de sécurité
    Bonjour

    Je fais un publipostage Word depuis Access piloté en VBA.
    La difficulté est lié à l'actualisation d'une image (de signature de courrier).

    Je suis obligé d'actualiser les champs par une ligne (en rouge) .ActiveDocument.Fields.Update
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    With wdapp
       .Visible = True
        If Choix_modele > 0 Then
            .Documents.Open Chemin
            Else: .Documents.Open CheminDocType
        End If
        .ActiveDocument.MailMerge.OpenDataSource Name:=CurrentDb.Name, LinkToSource:=True, Connection:="Table tpubli", SQLStatement:="SELECT * FROM [tpubli]"
        .ActiveDocument.MailMerge.Execute
        .ActiveDocument.Fields.Update
        .ActiveDocument.SaveAs2 CheminDocPerso
        .Documents.Close
    End With
    wdapp.Quit
    Set wdapp = Nothing
    Shell "C:\WINDOWS\EXPLORER.EXE " & CheminDocPerso
    Le problème est qu'au moment du rafraichissement, Word émet une alerte de sécurité située en arrière plan d'ailleurs. Bien entendu, si je répond oui, le publipostage se fait correctement.

    Nom : Sans titre-1.png
Affichages : 89
Taille : 7,9 Ko

    Je n'arrive pas à trouver de paramètres dans Word pour empêcher l'apparition de ce message.
    De plus, l'idéal serait de trouver une solution, si possible, pour que ce message n'apparaisse pas pour les utilisateur de la cette application Access.

    Merci pour votre intérêt sur cette question.

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 033
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2023
    Messages : 53
    Par défaut
    Citation Envoyé par micniv Voir le message
    J'avais vu cette page.
    Malheureusement, elle précise que "Important : L’option de modification de ces paramètres n’est pas disponible dans les versions Microsoft Office ultérieures à 2013."

    Ce n'est donc pas adapté car, oubli de ma part, je fonctionne sous Windows 11 avec dernière version d'Office 365.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 033
    Par défaut
    Autre possibilité :
    via un ajout direct dans la base des registres (regedit) :

    https://learn.microsoft.com/en-us/mi...erlink-warning
    "Always look at the bright side of life." Monty Python.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2023
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2023
    Messages : 53
    Par défaut Résolution
    Bonjour
    Après un long moment tel qu'on les aime en programmation dominicale ou nocturne, j'ai trouvé une solution...
    Il convient de modifier la clé de registre qui est bloquante.

    J'ai donc fait une petite fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function Security_squeeze(RegValue As Long)
    Dim WshShell, RegKey, wVer
    Set WshShell = CreateObject("WScript.Shell")
    wVer = Application.Version
    Start:
    RegKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & wVer & "\Word\Security\"
    On Error Resume Next
    WshShell.RegWrite RegKey & "DisableWarningOnIncludeFieldsUpdate", RegValue, "REG_DWORD"
    End Function
    que j'appelle avant le rafraichissement suite à l'exécution de mes publipostages (valeur 1 pour activer la clé de désactivation) mais également après pour réactiver la protection (valeur 0).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    With wdapp
       .Visible = True
        If Choix_modele > 0 Then
            .Documents.Open chemin
            Else: .Documents.Open CheminDocType
        End If
        .ActiveDocument.MailMerge.OpenDataSource Name:=CurrentDb.Name, LinkToSource:=True, Connection:="Table tpubli", SQLStatement:="SELECT * FROM [tpubli]"
        .ActiveDocument.MailMerge.Execute
        Security_squeeze (1)
        .ActiveDocument.Fields.Update
        .ActiveDocument.SaveAs2 CheminDocPerso
        .Documents.Close
    End With
    wdapp.Quit
    Set wdapp = Nothing
    Shell "C:\WINDOWS\EXPLORER.EXE " & CheminDocPerso
    Security_squeeze (0)
    Si ça peut servir.
    Merci à ceux qui m'ont orientés.

    Bien à vous,

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 581
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    Merci pour le partage

    En complément un autre lien :
    https://www.developpez.net/forums/d2...ty-dialog-box/
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. rafraichissement tcd via vba ne fonctionne plus
    Par faucus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2022, 17h20
  2. [XL-2016] Publipostage word via vba
    Par Malfudan dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/09/2021, 13h18
  3. Réponses: 3
    Dernier message: 01/02/2020, 14h59
  4. Publipostage via Macro VBA
    Par isa1988 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/02/2019, 18h09
  5. [AC-2007] Problème de publipostage entre Access & Word via VBA
    Par sebaci972 dans le forum VBA Access
    Réponses: 0
    Dernier message: 12/05/2009, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo