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 :

Aide avec l'ouverture des documents OLE (Word, Excel, pdf etc)


Sujet :

API, COM et SDKs Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Aide avec l'ouverture des documents OLE (Word, Excel, pdf etc)
    Bonjour à tous,
    mon français n'est pas trop parfait mais je vais essayer de résumé mon problem:

    J'ai des documents OLE (e.g. Word, Excel), qui s'ouvrent à travers mon app en Delphi, mais le seul problem que je rencontre c'est si j'ai ouvert un doc en MS Word et que j'ai changé la fenêtre en mode 'custom', tous les autres doc qui s'ouvrent après sont dans ce mode, alors que je voulais que mem si un doc a été ouvert en fenêtre custom, les autres doivent obligatoirement ouvrir en plein ecran, est-ce qu'il y a un code qui permet de forcer MS Word (ou autres, e.g. Acrobabt reader) à ouvrir en plein ecran depuis Delphi?

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut et bienvenue
    rien ne vaut plus que de voir ton code.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    re-salut a tous
    voici les codes les plus important concernant l'ouverture des docs, c'est plutot pour la partie 'modifier doc' que s'ouvrent les Word, Excel etc, car les docs sont ensuite stokés dans ma base de données. J'ai 2 'frames' en Delphi, TFRDocument et TFROleDocument, et même si on clique sur le document dans TFRDocument, le code va ouvrir l'autre frame TFROleDocument pour l'excution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TFRDocument.MNDocumentModifyClick(Sender: TObject);
    begin
         {simulate a double click, to fetch the doc}
         if GDDocument.Visible then
            DefaultViewDoubleClick;
         if TLDocumentList.Visible then
             TLDocumentListDblClick(TLDocumentList);
         if GDDocumentReceivedDocs.Visible then
             GDDocumentReceivedDocsDblClick(GDDocumentReceivedDocs);
     
         {simulate an edit to open the doc}
         TFROleDocument(PCDocument.ActivePage.Controls[0]).MNOleDocumentEditClick(TFROleDocument(PCDocument.ActivePage.Controls[0]).MNOleDocumentEdit);
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TFROleDocument.MNOleDocumentViewOpenClick(Sender: TObject);
    begin
         {open document, but not allowed to save}
         if Assigned(OCOleDocumentContainer.OleObjectInterface) then
            OCOleDocumentContainer.DoVerb(ovShow);
         OCOleDocumentContainer.BringToFront;
    end;
    J'ai seulement besoin d'une ligne de code qui permet l'ouverture en plein ecran de MS Word, Acrobat etc. Peut être une propriété dans le OleContainer OCOleDocumentCOntainer?

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Salut à tous
    Est-ce que quelqu'un pourra m'aider à trouver des liens/tutoriels concernant OleContainer pour delphi, les propriétés associés au olecontainer etc? J'ai cherché sur google mais sans résultats valables.

  5. #5
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 461
    Points : 5 918
    Points
    5 918
    Par défaut
    salut


    pour mettre en pleine ecrain en dehors de la zone ole

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      Ole.close;
      Ole.AutoVerbMenu := true;
      Ole.AllowActiveDoc:=false;
      Ole.AllowInPlace:=false;
      Ole.DoVerb(ovShow);
      Ole.Visible := true;
      Ole.DoVerb(ovPrimary);
    pour la mettre dans la zone ole

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Ole.Visible := True;
            Ole.AutoVerbMenu := false;
            Ole.AllowActiveDoc:=true;
            Ole.AllowInPlace:=true;
            Ole.CreateObjectFromFile(Fichier,False);
            Ole.Visible := True;
    @+ Phil

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    merci anapurna, je vais essayer ces codes

  7. #7
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;
    voici comment créer un nouveau message dans MSOutlook en utilisant OLE.

    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
     
    const olMailItem = 0;
    var
      Outlook: OLEVariant;
      MailItem: Variant;
    begin
      try
        Outlook := GetActiveOleObject('Outlook.Application');
      except
        Outlook := CreateOleObject('Outlook.Application');
      end;
     
      MailItem := Outlook.CreateItem(olMailItem);
      MailItem.Recipients.Add('kelloucheaeh@yahoo.fr');
      MailItem.Subject := 'Hello !';
      MailItem.Body := 'Bienvenue sur : http://www.Developpez.com';
      MailItem.Attachments.Add('C:\Windows\Win.ini'); // ce n'est qu'un exemple
      MailItem.Send;
     
      Oulook := Unassigned;
    end;

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    Salut;
    voici comment créer un nouveau message dans MSOutlook en utilisant OLE.

    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
     
    const olMailItem = 0;
    var
      Outlook: OLEVariant;
      MailItem: Variant;
    begin
      try
        Outlook := GetActiveOleObject('Outlook.Application');
      except
        Outlook := CreateOleObject('Outlook.Application');
      end;
     
      MailItem := Outlook.CreateItem(olMailItem);
      MailItem.Recipients.Add('kelloucheaeh@yahoo.fr');
      MailItem.Subject := 'Hello !';
      MailItem.Body := 'Bienvenue sur : http://www.Developpez.com';
      MailItem.Attachments.Add('C:\Windows\Win.ini'); // ce n'est qu'un exemple
      MailItem.Send;
     
      Oulook := Unassigned;
    end;
    Merci pour le code, mais moi j'ai seulement besoin d'ouvrir les OleContainer en plein ecran si je clique sur un doc et jusqu'à maintenant je suis encore en train de faire des recherches pour ce probleme.

  9. #9
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut DBOLEContainer
    bonjour

    Juste pour info, BigGrizzly a developpé un composant gratuit dédié pour charger et utiliser un document OLE dans une base de données, le GZFBDBOLEContainer que vous pouvez télécharger à cette adresse :
    ftp://www.zoo-logique.org/delphi/

    J'utilise cet objet depuis de nombreuses années.

    André

  10. #10
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par alheuredudejeuner Voir le message
    bonjour

    Juste pour info, BigGrizzly a developpé un composant gratuit dédié pour charger et utiliser un document OLE dans une base de données, le GZFBDBOLEContainer que vous pouvez télécharger à cette adresse :
    ftp://www.zoo-logique.org/delphi/

    J'utilise cet objet depuis de nombreuses années.

    André
    Merci pour l'info et le lien

Discussions similaires

  1. Problème d'affichage des documents sous Word
    Par jacky87 dans le forum Word
    Réponses: 1
    Dernier message: 25/10/2010, 17h15
  2. Recherche de contenu dans des documents (Word, Excel, PDF ..)
    Par Morad ISSOULGHANE dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/02/2010, 13h48
  3. Réponses: 1
    Dernier message: 05/05/2008, 21h56

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