[Forms 9i] Ouvrir un fichier excel
Bonjour,
Je souhaite ouvrir un fichier excel que j'ai rempli au préalable avec des données de ma base.
Il ne me reste plus qu'à l'ouvrir quand je clique sur un bouton de mon appli. J'ai essayé énormément de chose, je suis allez sur metalink mais rien n'y fait.
Soit il ne s'ouvre pas automatiquement mais le fichier existe bien, soit il s'ouvre vide, soit j'ai une erreur ORA.
Quelqu'un peut il m'aider ?
Voilà deux codes différents que j'ai essayé :
1)
Code:
1 2 3 4 5 6 7 8 9
| application := OLE2.CREATE_OBJ('Excel.Application');
OLE2.SET_PROPERTY(application,'Visible', 1);
workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
args := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, v_nomfichier);
workbook := OLE2.GET_OBJ_PROPERTY(workbooks, 'Open', args);
OLE2.DESTROY_ARGLIST(args); |
Rien se s'ouvre, v_nomfichier est le chemin vers le fichier excel que j'ai crée.
2)
Code:
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
| APPID := DDE.APP_BEGIN('C:\Program Files\Microsoft Office\Office\Excel.EXE',
DDE.APP_MODE_MINIMIZED);
/* Establish a conversation with Excel */
/* The following loop will not end until a conversation with Excel
has been established. Therefore, it can result in a endless loop,
so use with caution. */
WHILE NOT conv_established LOOP
BEGIN
convid := DDE.INITIATE('excel', 'system');
conv_established := TRUE;
EXCEPTION
WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
conv_established := FALSE;
END; -- loop
END LOOP;
/* Open Excel document */
/* This assumes that you have an Excel spreadsheet named ddetest.xls
in the root of e: */
DDE.EXECUTE(convid, '[Open(v_nomfichier)]', 10000);
/* Initiate conversation with Excel document */
docid := DDE.INITIATE('excel', v_nomfichier);
/* Begin transfer to Excel */
DDE.POKE(docid, 'R2C2', 'Text', DDE.CF_TEXT, 10000);
/*End transfer to Excel */
DDE.TERMINATE(docid);
DDE.TERMINATE(convid);
DDE.APP_END(appid); |
Ici j'ai une erreur 0RA-106555 ce qui veu dire que ça vient du DDE.POKE. Apparemment, j'ai lu que pour les espagnols par exemple ce n'était pas 'R2C2' mais 'F2C2' car ligne en espagnol commence par F. J'ai don essayé avec un 'L' à la place mais ca ne change rien
Voilà merci d'avance de votre aide