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

API, COM et SDKs Delphi Discussion :

[OleAutomation] TWordApplication.Documents.Open


Sujet :

API, COM et SDKs Delphi

  1. #1
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 894
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut [OleAutomation] TWordApplication.Documents.Open
    bonjour

    Quelqu'un aurait-il un bout de code pour lire le texte d'un document word depuis Delphi ?

    Voici mon code :
    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
     
    // les composants de la fiche
        WordDocument: TWordDocument;
        WordApplication: TWordApplication;
     
    // la procédure
     
    procedure GetWordText(fileWord : string) : string;
    var
       Template : OleVariant;
       fileName : OleVariant;
       OvYes    : OleVariant;
       ovNo     : OleVariant;
       pass     : OleVariant;
       format   : OleVariant;
       itIndex  : OleVariant;
       SaveChanges,
       OriginalFormat,
       RouteDocument: OleVariant;
    begin
      GetWordText := '';
      try
        Template := EmptyParam;
        try
          Wordapplication.Connect;
        except
          MessageDlg('MS Word n''a pas été trouvé.', mtError, [mbOk], 0);
          Abort;
        end;
        Template := EmptyParam;
        fileName := fileWord;
        Ovyes := 0;
        OvNo := 1;
        pass := UnAssigned;
        format := wdOpenFormatAuto;
        WordApplication.Documents.open(FileName, ovNo, OvYes, OvNo, pass, pass, ovNo, ovNo, ovNo, format);
        itIndex := 1;
        WordDocument.ConnectTo(WordApplication.Documents.Item(itIndex));
        GetWordText := WordDocument.Range.get_text;
        SaveChanges := WdDoNotSaveChanges;
        OriginalFormat := UnAssigned;
        RouteDocument := UnAssigned;
        WordApplication.Quit(SaveChanges, OriginalFormat, RouteDocument);
        WordApplication.Disconnect;
      except
        on E: Exception do
        begin
          ShowMessage(E.Message);
          WordApplication.Disconnect;
        end;
      end;
    end;
    Ceci plante à l'ouverture du doc ... message : "Le type ne correspond pas".

    PS : la syntaxe de cette méthode est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        function  Open(var FileName: OleVariant; var ConfirmConversions: OleVariant; 
                       var ReadOnly: OleVariant; var AddToRecentFiles: OleVariant; 
                       var PasswordDocument: OleVariant; var PasswordTemplate: OleVariant; 
                       var Revert: OleVariant; var WritePasswordDocument: OleVariant; 
                       var WritePasswordTemplate: OleVariant; var Format: OleVariant): WordDocument; safecall;
    Toute aide sera bienvenue !

    Merci

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 922
    Points : 6 038
    Points
    6 038
    Par défaut
    J'ai eu aussi des pb, mais avec Excel...

    Mais je t'ai trouvé ça: http://www.djpate.freeserve.co.uk/AutoWord.htm

    Bon courage !

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 894
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut [Résolu] TWordApplication.Documents.open (OleAutomation)
    J'ai modifié :

    WordApplication.Documents.open(FileName, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam);

    et ça marche impec.

    Merci !

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

Discussions similaires

  1. [POO] Document.open dans IE7 ne marche plus ?
    Par jgfa9 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 30/10/2008, 22h58
  2. bug Documents.Open() et ASPX
    Par tosprou dans le forum ASP.NET
    Réponses: 3
    Dernier message: 19/04/2007, 15h28
  3. [VB.Net 2005]Libérer un document open office
    Par DonF dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/01/2007, 17h39
  4. [WIN32][D7] documents Open Office vers Txt
    Par Benjamin GAGNEUX dans le forum Delphi
    Réponses: 7
    Dernier message: 31/08/2006, 16h41
  5. Ouvrir un document Open office
    Par sibou51 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 02/03/2006, 19h55

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