salut
je veux ouvrir un fichier word à partir d'un clic sur un bouton . comment faire?
salut
je veux ouvrir un fichier word à partir d'un clic sur un bouton . comment faire?
FAQ...
+ + +
tu tapes ShellExecute est tu appuis sur
sinon il y a un autre sujet a peu prés sur le meme theme:
http://www.developpez.net/forums/sho...d.php?t=153259
peut etre en executant ce petit bout de programme avec une forme et un bouton
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 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #pragma link "Word_2K_SRVR" #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //---------------------------------------------- Variant vMSWord , vWDocument , vWDocuments; Variant vFileName; //---------------------------------------------- vMSWord = Variant::CreateObject("Word.Application"); vMSWord.OlePropertySet("Visible",true); vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\plan_gps\\PLAN_GPS\\télégraphe.csv"; vWDocuments = vMSWord.OlePropertyGet("Documents"); vWDocument = vWDocuments.OleFunction("Open", vFileName); } //-----------------------------------------------
--
Plutot que d'essayer de réinventer la roue, apprenons à nous en servir
Envoyé par blondelleCe code me paraît excellent, il faudrait sans doute l'inclure dans la FAQ si ce n'est déjà fait. Il fait concurrence au ShellExecute, c'est une autre formule tout aussi intéressante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void __fastcall TForm1::Button1Click(TObject *Sender) { Variant vMSWord , vWDocument , vWDocuments, vFileName; vMSWord = Variant::CreateObject("Word.Application"); vMSWord.OlePropertySet("Visible",true); vFileName = "C:\\Documents and Settings\\blondelle\\télégraphe.csv"; vWDocuments = vMSWord.OlePropertyGet("Documents"); vWDocument = vWDocuments.OleFunction("Open", vFileName); }
À bientôt
Gilles
Ce bout de code a ete ecrit avec l'aide de la FAQ Word et en minspirant du cheminement de l'ouverture de fichier excel
Tutoriel Pilotez OLE de Word
Tutoriel Pilotage OLE d'Excel
--
Plutot que d'essayer de réinventer la roue, apprenons à nous en servir
je poste une question similaire a celle de mon poste sur excel
"ouverture d'un fichier texte avec excel"
sous WORD en VBE on ecrit
et la on appel la boite d'ouverture de fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub essai() Application.Dialogs(wdDialogFileFind).Show End Sub
avec cette facon de faire on s'elimine la gestion des Variants
en recherchant dans la VCL word_2k_srvr.h
dans les include on trouve "#include Word_2k.h"
dans word_2k.h
on trouve
dans la suite on remarque que l'on retrouve WdWordDialog
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 typedef enum WdWordDialog { wdDialogHelpAbout = 9, wdDialogHelpWordPerfectHelp = 10, wdDialogHelpWordPerfectHelpOptions = 511, __ __ wdDialogFileFind = 99, <---------- __ __ wdDialogFormatTheme = 855, wdDialogTCSCTranslator = 1156 } WdWordDialog; <-------------
je pense que de bcb on peut appeler directement ces boites de dialogue WORD
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 virtual HRESULT STDMETHODCALLTYPE Item(Word_2k::WdWordDialog Index/*[in]*/, Word_2k::Dialog** prop/*[out,retval]*/) = 0; // [0]Word_2k::Dialog* __fastcall Item(Word_2k::WdWordDialog Index/*[in]*/) { Word_2k::Dialog* prop; OLECHECK(this->Item(Index, (Word_2k::Dialog**)&prop)); return prop; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
12 ou
et les informations contenus dans la VCL le permettent malheureusement je n'ai pas les competances pour le faire
mais l'idee est lancee si quelqu'un peut le faire cela permettrait d'exploiter plus facilement Word sous bcb
--
Plutot que d'essayer de réinventer la roue, apprenons à nous en servir
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager