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

ODS et reporting Discussion :

DDE pour lire un document WORD


Sujet :

ODS et reporting

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Par défaut DDE pour lire un document WORD
    Bonjour à tous!
    Voilà, je souhaite ouvrir un document .rtf en utilisant l'instruction filename DDE afin d'enregistrer ce fichier en .txt. En fait, je souhaite automatiser cette action et ne pas être obligé d'ouvrir Word et d'enregistrer sous l'extension .txt
    Le problème est que lorsque je soumets le code (plus bas), ma session SAS plante et je ne sais pas pourquoi...
    Le %sysfunc ouvre bien word, mais dès que je lance l'étape data, ça plante...
    Y aurait-il quelqu'un qui ait déjà rencontré ce problème?
    Merci pour votre aide
    Caroline

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    options noxwait noxsync;
    %let rc=%sysfunc(system(start winword));
    filename word DDE 'Winword|"C:\tmp\Test_CLE.doc"';
    data _null_;
     file word;
     
     put '[FileOpen.Name = "' "C:\tmp\Test_CLE.doc" '"]';
     put "[FileSaveAs"
       ".Name=""C:\tmp\Test_CLE.txt"", "
       ".Format=2, "
       ".AddToMru=1]";
     put '[FileClose]';
    run;

  2. #2
    Membre émérite
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Par défaut
    Je suis plutôt familier avec les liens dde vers Excel, mais je px essayer de t'aider.

    1- As tu essayé en lancant seulement une commande de ton étape data ?
    Le problème avec le dde c'est l'absence de message clair d'erreur. Il faut donc procéder pas à pas pour débugger.

    2- Pour faire des commandes Word (ouvrir, sauvegarder, fermet, etc.), il faut sûrement définir un filename "générique" du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    filename sys dde "winword|system"; 
    data _null_;
    file word;
    put '[FileOpen.Name = "' "C:\tmp\Test_CLE.doc" '"]';
    run ;
    Les filenames où tu donnent le nom de fichier + l'emplacement dans le fichier (des signets je crois avec word) sont à réserver pour l'échange de données (import ou export)

    3- Pour la gestion des "simples & doubles quotes", il est préférable d'utiliser les "doubles et doubles-doubles quotes" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    put "[FileOpen.Name = ""C:\tmp\Test_CLE.doc""]";
    D'une part, c'est plus lisible à l'usage,
    D'autre part, et c'est important, ça permet d'utiliser les macro-variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    put "[FileOpen.Name = ""&nom_repertoire.\&nom_fichier..doc""]";

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/03/2014, 14h55
  2. Réponses: 8
    Dernier message: 04/04/2007, 19h38
  3. Logiciel(s) pour lire des documents PDF
    Par JavaAcro dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 24/03/2007, 19h25
  4. [C#] Comment lire un document Word ?
    Par piogo113 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/09/2006, 01h53
  5. problème pour ouvir un document WORD
    Par emma07 dans le forum Access
    Réponses: 27
    Dernier message: 30/05/2006, 11h55

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