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

Bibliothèques tierces Python Discussion :

Problème pour WordApp


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut Problème pour WordApp


    Je ne sais pas si c'est la bonne section puisque c'est du python (grace au mocule win32) mais c'est aussi du VBA....
    Bref voila mon probleme on ne sait jamais...
    J'ai le code suivant :
    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
    def IntroduireCourbes(self):
            wordApp = win32com.client.Dispatch("Word.Application")
            wordApp.Visible = True
            list_of_doc_files_to_create = [self.modele_rapport.name]
            #files_to_insert = liste des .pgr dans le repertoire courant - voir script test.py dans pcfgénération
            files_to_insert = ['D:\Documents and Settings\olivetr\My Documents\Saves olivetr\MCO Proteus AOCS\TM_Decembre2008\TM\Graph_11_GYR.gif']
            for y in list_of_doc_files_to_create:
                wordDoc=wordApp.Documents.Add(y)
                wordRange=wordDoc.Range(0,0).Select()
                for x in files_to_insert:
                    Image = os.path.splitext(x)[0]
                    Image = Image.split('\\')[-1]
                    Selection = wordApp.Selection
                    Selection.Find.ClearFormatting
                    chaine = '$Image_'+Image
                    print chaine
                    Selection.Find.Text = chaine
                    Selection.Find.Replacement.Text = ""
                    Selection.Find.Forward = True
                    Selection.Find.Format = False
                    Selection.Find.Execute()
                    Selection.InlineShapes.AddPicture(x)
    Qui me permet d'ajouter une courbe dans un rapport.
    L'emplacement ou l'implanter est définit comme tel: $Image_Nomdelimage
    Le probleme de ce code est que si il ne trouve pas (avec Selection.Find) la chaine de caractere $Image_Nomdelimage il va m'introduire la courbe au début du fichier et ça c'est PAAAAAS BIIIIIIIIEEEEN !
    Est-ce que vous auriez un moyen (ca parait simple mais je ne vois pas comment faire) de lancer la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.InlineShapes.AddPicture(x)
    A condition qu'il est trouvé la chaine de caractere $Image_Nomdelimage
    Et de ne rien faire sinon...

    Je sens que je vais me faire huer, que je vais me faire lapider parceque ça sent le "if" tout con a plein nez mais la je bloque alors SVP pas des grosses pierres ! A la limite vous pouvez me lancer quelques cailloux...

    D'autre part, il me semble lui demander d'éditer mon fichier word alors qu'il m'en ouvre un nouveau dont le nom est "Document 1" et je ne sais pas pourquoi... Si vous aviez une idée aussi


    Merci beaucoup !

    Teq

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut
    Re !

    C'est bon après une recherche rapide et surtout apès avoir sorti ma tete de mon c** ... Dur dur le matin heinnnnnn ...

    J'ai trouvé la solution !
    Il suffisait de fouiller dasn les merveilleux tuto VBA qu'ont développé les programmeurs d'ici... (J'en fais trop? )

    Voila donc la boucle a mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #Si il y a la chaine de caractere, insérer l'image correspondante
                    if Selection.Find.Found == True:
                        Selection.InlineShapes.AddPicture(x)
                    #Sinon pass !
                    else:
                        pass
    Voili voilou !
    Merci a ceux qui ont pris le temps de regarder le sujet en tout cas...

    Teq

Discussions similaires

  1. [fileupload] problème pour parser la requete
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 12
    Dernier message: 24/04/2008, 12h02
  2. Réponses: 13
    Dernier message: 23/12/2004, 18h01
  3. C/asm : problème pour link
    Par SteelBox dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/04/2004, 23h03
  4. Réponses: 3
    Dernier message: 29/08/2003, 10h57
  5. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

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