
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 :
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 :
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
Partager