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

Langage Perl Discussion :

MS Word problème avec le convertisseur mswrd632


Sujet :

Langage Perl

  1. #1
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut MS Word problème avec le convertisseur mswrd632
    Voici mon script
    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
    #!/usr/bin/perl
     
    #--------------------------- *Concat_sequences.pl 
     
    use strict;
    use warnings;
     
    use FileHandle;
     
    use Win32::OLE;
    use Win32::OLE::Enum;
     
     
     
    my $gene = 'HLC';
     
    my $dir = 'P:/Theorie/ELODIE/dendrogramme_purA_pts_HLC/Sequences';
    my $fh = FileHandle->new(">$dir/${gene}/${gene}.doc");
    close $fh;
     
     
     
    # glob retourne le chemin complet vers le fichier
    my @files = grep { !/^\.\.?$/ } glob($dir."/${gene}/*.doc");
     
     
    foreach my $input_file (@files){
     
    	my $document = Win32::OLE -> GetObject($input_file);
     
    	my $paragraphs = $document->Paragraphs();
    	my $enumerate = new Win32::OLE::Enum($paragraphs);
    	while(defined(my $paragraph = $enumerate->Next())){
    		# my $style = $paragraph->{Style}->{NameLocal};
    		# print "+$style\n";
    		my $text = $paragraph->{Range}->{Text};
    		if ($text =~ m/^\w+$/){
    			print "$text\n";
    		}
    	}
    }
    J'obtiens de MS Word l'erreur :
    Impossible de démarrer le convertisseur mswrd632
    Je suis obligée d'annuler ce message et mon script indique
    Win32::OLE(0.1707) error 0x80004004: "Opération abandonnée" at Concat_sequences.pl line 29
    eval {...} called at Concat_sequences.pl line 29
    Can't call method "Paragraphs" on an undefined value at Concat_sequences.pl line 31.
    Avez-vous une idée de ce que je dois faire?

    Merci,

  2. #2
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    A 1ère vue je dirais qu'il faut rajouter des tests, c'est pas super parlant comme ca je trouve ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach my $input_file (@files){
     
    	my $document = Win32::OLE -> GetObject($input_file) or die "pb getobject : $!\n";
     
    	my $paragraphs = $document->Paragraphs() or die "pb Paragraphs : $!\n";
    	my $enumerate = new Win32::OLE::Enum($paragraphs) or die "pb enum : $!\n";
    [.....]
    }
    @+
    Mr6

  3. #3
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Sais-tu à quoi sert le convertisseur mswrd632? Est-il installé par défaut?

    Tes 3 tests s'effectuent sans problème.


    Ce qui est étrange est que si j'exécute le script sur un seul fichier, cela fonctionne. Par contre si, j'analyse plusieurs fichiers, cela bloque. Je vais essayer de trouver le fichier posant problème.

  4. #4
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    J'obtiens l'erreur d'un de tes test :
    Win32::OLE(0.1707) error 0x80004004: "Opération abandonnée" at Concat_sequences.pl line 31
    eval {...} called at Concat_sequences.pl line 31
    pb getobject :

  5. #5
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Je pense que le problème vient de fichier temporaire créer par Word, tel que
    P:/Theorie/.../PUR/~$10B.doc
    Je dois changer le grep du script afin de les éliminer.

  6. #6
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Voila, cela fonctionne grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @files = grep { !/\$/ } glob($dir."/$gene/*.doc");
    Merci pour ton aide.

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

Discussions similaires

  1. [VBA - Excel - Word] Problème avec Range(Cells(1,1),Cells(10,10))
    Par Tanoffy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/10/2014, 12h07
  2. MS Word erreur avec le le convertisseur mswrd632
    Par Jasmine80 dans le forum Word
    Réponses: 5
    Dernier message: 05/03/2010, 13h09
  3. [VSTO2005]Word problème avec Normal.dot
    Par totoen dans le forum C#
    Réponses: 18
    Dernier message: 11/04/2008, 14h41
  4. Problème avec un ansistring - écriture dans Word
    Par scorpion37 dans le forum C++Builder
    Réponses: 11
    Dernier message: 02/05/2006, 16h09
  5. [VBA] [WORD] problèmes avec NUMPAGES
    Par meufeu dans le forum VBA Word
    Réponses: 9
    Dernier message: 08/08/2005, 17h24

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