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 Word Discussion :

Problème d'enregistrement PDF en réseau [WD-2007]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable devis
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable devis
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème d'enregistrement PDF en réseau
    Bonjour,

    J’ai un souci d’enregistrement sous VBA Word.
    La programmation ci-dessous comporte 2 zones, la 1ere est un enregistrement sous PDF, la 2e un enregistrement consécutif par le canal DDE. Cette dernière zone fonctionne parfaitement, c’est la 1ere qui ne me donne pas satisfaction en PDF.
    A partir du modèle existant, je souhaiterai que chaque document créé par un utilisateur récupère le nom du document actif (et non pas le nom du modèle « toto ») et que le nom de l’utilisateur soit généraliste pour que ça puisse fonctionner sur tout le réseau. Si ce n’est pas possible, faut-il envisager une boîte de dialogue pour l’enregistrement ? Dans ce cas, comment dois-je la formuler ?

    Merci pour votre aide

    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
    18
    19
    Public Sub MAIN()
     
            ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "C:\Documents and Settings\utilisateur\Bureau\toto.pdf", ExportFormat:= _
            wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False
     
    Dim Canal
        Dim Commande$
        Commande$ = "Do code method FLETWORD/commande_de_word_0305 ('" + WordBasic.[FileName$]() + "')"
     
        Canal = WordBasic.DDEInitiate("Omnis", "LOGICIEL")
        WordBasic.DDEExecute Canal, Commande$
        WordBasic.DDETerminate Canal
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pour récupérer le nom du document actif, c'est
    Et le chemin complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.FullName
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable devis
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable devis
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Résolu
    Bonjour,

    Merci Heureux-oli

    J'ai exploité ton aide et ça donne ceci :


    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
    18
    19
    20
    21
    22
    23
    24
    25
    'Déclaration des variables
    Dim strMyName As String
    Dim strMyUser As String
    Dim strMyExport As String
    Dim strMyResult() As String
    Dim inti As Integer
    'Affectation des données aux variables
    strMyChar = ActiveDocument.Name
    'Utilisation de la fonction
    strMyResult = Split(strMyChar, ".")
    'Boucle pour l'affichage du contenu de la table
    For inti = 0 To 1
    Debug.Print inti & " - " & strMyResult(inti)
    Next inti
     
    strMyUser = Environ("UserName")
    strMyExport = "C:\Documents and Settings\" + strMyUser + "\Bureau\" + strMyResult(0) + ".pdf"
     
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            strMyExport, ExportFormat:= _
            wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False
    Ce n'est peut-être pas très académique mais ça fonctionne et c'est l'essentiel

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Ton split sur le FileName est une bonne idée, en général j'utilise un Left en faisant un test sur l'extension suivnat que j'ai un doc, un docx ou un docm et autre si j'ai d'autres extensions.

    Pour le reste, si ça fonctionne, c'est le principal.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

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

Discussions similaires

  1. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  2. Réponses: 1
    Dernier message: 25/09/2005, 11h09
  3. Problème d'enregistrement de DLL
    Par chleuh dans le forum Langage
    Réponses: 5
    Dernier message: 01/07/2005, 10h30
  4. problème d'enregistrement de textarea dans bdAccess
    Par pmboutteau dans le forum ASP
    Réponses: 23
    Dernier message: 04/04/2005, 15h10
  5. Problèm d'enregistrement
    Par ludogim dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/06/2004, 11h41

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