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

VB 6 et antérieur Discussion :

VB6 DLL Ajout de filigrane sous Word


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut VB6 DLL Ajout de filigrane sous Word
    Bonjour tout le monde,

    Je vous expose mon problème. Je dois créer une DLL qui effectue une fusion de document RTF depuis un modèle. En plus de cela je dois dans certains cas ajouter un filigrane "PROVISOIRE" sur le document.

    La fusion est OK. Je rencontre un problème lors de l'ajout d'un filigrane :
    J'ai récupéré un code sur internet qui effectue exactement ce que j'attends et il fonctionne très bien, du moment où je reste en .EXE.
    Si je passe mon code en DLL pour installer sur mon serveur d'application, j'obtiens le message suivant :"Commande disponible seulement en mode Page".

    J'ai donc essayer depuis la DLL d'appeler un EXE en mode "batch", même sanction.
    N'ayant pas trouvé d'informations supplémentaires sur Internet ou sur ce forum, je me permet de poster ma demande pour que quelqu'un puisse m'aider.

    Merci d'avance pour votre aide.
    Code utilisé : VB6.
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     Dim oDoc As Word.Application
        Dim wordDoc As Word.Document
        Dim nFil As Long
     
     
        Set oDoc = CreateObject("Word.Application")
        oDoc.DisplayAlerts = wdAlertsNone
        oDoc.WindowState = wdWindowStateMinimize
        oDoc.Visible = True
     
        Set wordDoc = oDoc.Documents.Open("D:\TEST.doc", False)
        Call Filigranne("TEST FILIGRANE", oDoc)   
        wordDoc.Save
        oDoc.Documents.Close False
        oDoc.Quit False
     
        Set wordDoc = Nothing
        Set oDoc = Nothing
    End Sub
    '********************************
    Sub Filigranne(Texte As String, doc As Word.Application)
        Dim Section As Section
        Dim Header As HeaderFooter
     
        doc.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
        For Each Section In ActiveDocument.Sections
            For Each Header In Section.Headers
            AddFiligranne Texte, Header, Section
            Next
        Next
     
        Word.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    End Sub
    '******************************
    Private Sub AddFiligranne(Texte As String, Header As HeaderFooter, Section As Section)
        Dim ShapeName As String
        Dim Shape As Variant
     
        ShapeName = "Filigranne_" & Section.Index & "_" & Header.Index
        Header.Range.Select
     
        'détruit un éventuel filigranne précédent
        On Error Resume Next
        Set Shape = Header.Shapes(ShapeName)
        If Not Shape Is Nothing Then Shape.Delete
        If Texte = "" Then Exit Sub
     
        'ajoute le filigranne (c'est dans l'entete, et ça prend 1x1 point en haut à gauche de la page)
        Set Shape = Word.Selection.HeaderFooter.Shapes.AddTextEffect( _
                    Office.MsoPresetTextEffect.msoTextEffect1, _
                    Texte, "ARIAL", 1, False, False, _
                    0, 0)
        Shape.Select
        'met en forme le filigranne pour prendre toute la page
        With Word.Selection.ShapeRange
            .Name = ShapeName
            .TextEffect.Text = Texte
            .TextEffect.FontName = "Arial"
            .TextEffect.FontSize = 1    'la taille de la police est fixé par le ratio
            .Line.Visible = False
            .Fill.Visible = True
            .Fill.Solid
            .Fill.ForeColor.RGB = WdColor.wdColorRed
            .Fill.Transparency = 0.7
            .Rotation = 305
            .LockAspectRatio = True
            .Height = CentimetersToPoints(3.22)
            .Width = CentimetersToPoints(19.34)
            .WrapFormat.AllowOverlap = True
            .WrapFormat.Side = wdWrapNone
            .WrapFormat.Type = 3
            .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
            .RelativeVerticalPosition = wdRelativeHorizontalPositionPage
            .Left = wdShapeCenter
            .Top = wdShapeCenter
        End With
    End Sub

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Bonjour à tous,

    Bientôt une semaine et pas une seule réponse.
    Soit je n'ai pas été assez clair dans mon explication , soit c'est tellement bête comme question que personne ne veut me répondre , soit c'est vraiment tordu et tout le monde coince...

    Si certaines personnes ont des informations sur ce problème, merci de m'aiguiller que ce soit possible ou impossible.

    Merci d'avance.

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par bibiseal Voir le message
    Soit je n'ai pas été assez clair dans mon explication , soit c'est tellement bête comme question que personne ne veut me répondre , soit c'est vraiment tordu et tout le monde coince...
    .
    je pencherais quand même pour la 3e solution ...

    Tu as essayé du coté des pro Office ?
    http://www.developpez.net/forums/f54...t-office/word/
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Désolé du temps pour répondre mais je suis parti en déplacement et ensuite j'avais un peu oublié de finaliser mon poste.

    Donc au final nous n'avons pas compris pourquoi cela ne marchait pas. Nous avons créé un nouveau serveur et nous en avons profité pour installer cette DLL sur ce nouveau serveur.

    Sur cette version le code fonctionne... Donc nous en avons déduit que quelqu'un avait du "bidouiller" quelquechose sur le serveur donc nous l'avons réinstaller proprement et tout fonctionne à nouveau.

    Merci quand à ceux qui ont pris le temps de lire le message.
    Problème résolu.

    BibiSeal

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

Discussions similaires

  1. Fusion de cellules d'un tableau sous Word en vb6
    Par ylyaiss dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 23/06/2013, 18h59
  2. [WD-2010] ajouter la fonction complément sous word
    Par cheriza dans le forum VBA Word
    Réponses: 1
    Dernier message: 16/03/2013, 13h36
  3. plantage VB6 lorsqu'on ajoute un composant (Sous Windows 7)
    Par orsatus dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/06/2012, 09h04
  4. [WD-2010] Impossible d'enlever le filigrane sous Word 2010
    Par Fch76 dans le forum Word
    Réponses: 1
    Dernier message: 16/02/2012, 09h23

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