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

Delphi Discussion :

Probleme OLE word delphi 7


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut Probleme OLE word delphi 7
    Bonjour, je suis nouveau developur en Delphi, et je dois developper un programme dans lequel j'ouvre un document word dans lequel j'inser des donne qui proviennent d'une base de donnee (donnees de type alphanumerique)

    je declare donc une variable de type string :

    MotifSoin : string;


    et voici ma procedure pour inserer le texte dans le document word :


    procedure TForm1.SpeedButton5Click(Sender: TObject);
    var
    msWord : Variant;

    begin

    MotifSoin := Form5.Tbl_SoinsMotif;
    msWord := CreateOLEobject ('Word.Application');

    msWord.documents.add ('C:\Documents and Settings\AFO\Mes documents\test.dot');
    msWord.visible := True;
    msWord:= unAssigned;

    msWord.wordbasic.EditReplace(Find := '$$$DOC$$$',
    Replace := MotifSoin,
    ReplaceAll := 1);
    end;
    resultat a la compilation :

    incompatible type : String and TStringField

    Donc type incompatible merci....
    que puis je faire pour eviter cela ? je suis assez debutant...

    merci pour votre aide

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bonjour,

    D'abord, si tu veux t'y retrouver avec clarté, une bonne indentification ne fera que du bien.
    Ensuite, pourquoi l'instruction Unassigned à cet endroit ?

    Enfin, j'utiliserais l'objet Ole Automation de Ms-Word plutôt que de faire un détour par WordBasic.
    msWord.Selection.Find.Execute('$$$DOC$$$', MatchCase, MatchWholeWord,
    EmptyParam, EmptyParam, EmptyParam, Forwrd, Wrap, EmptyParam,
    ReplaceWith, MotifSoin);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut
    c'est vrai que ca fonctionne mieux avec ta procedure (j'arrive a ajouter du text dans mon document word, mais seulement du text statique, je n'arrive toujours pas a ajouter mes données contenue dans ma base de données)

    en fait le probleme se pose au meme endroit que tout a l'heure, c a d au niveau du type de donnees

    msWord.Selection.Find.Execute('DOC', False, False, False, False, False,
    True, wdFindContinue, False, Form5.Tbl_SoinsMotif, wdReplaceAll);
    si je met Form5.Tbl_SoinsMotif tel quel, il n'accepte pas (type not allowed in variant dispatch call)
    si je l'insert dans la variable, --> type incompatible (string and TStrinfField)

    une idee ?

    merci d avance

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Essaie un transtypage
    MotifSoin := Form5.Tbl_SoinsMotif.AsString;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut
    super ca fonctionne.

    entre temps j'avais reussi avec

    MotifSoin := Form1.DBEdit3.Text;

    mais c'est plus propore d'aller rechercer directement dans la bd...

    je te remercie pour les infos
    @+

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/01/2015, 00h41
  2. [Kylix] Erreur "File not Found : Windows.dcu"
    Par derrick23_2003 dans le forum EDI
    Réponses: 4
    Dernier message: 27/12/2005, 11h18
  3. Problem de Date (Delphi/Access)
    Par mobeida dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/04/2005, 18h14
  4. [Ole Word] Fermeture du OleContainer
    Par nanomag dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/07/2004, 18h53
  5. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32

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