Ecrire dans fichier excel par interface C plus plus

cs_cvi Messages postés 3 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 29 mars 2003 - 25 mars 2003 à 18:19
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009 - 28 mars 2005 à 18:46
Comment puis-je écrire dans un fichier excel à partir d'une interface concue en c plus plus ?

Pouvez-cous me donner un exemple de code ?

Merci d'avance.

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 mars 2003 à 19:33
Je viens de faire exemple pour Word, alors je ne recommence pas. Tu traduiras pour Excel, faudra changer les #import, ceux invalides sont pour 97 ou 2000, j'ai mis modele #import pour officeXP qui differe un peu. Tu as le modele, suffit de se servir des objets Excel, regarde dans les tlh et tli generes par VC++. Faut respecter les espaces de nom Excel ou Vba, ne pas se gourrer.

#include <windows.h>

#pragma warning(disable : 4192)
#pragma warning(disable : 4049)
#pragma warning(disable : 4146)
//#import "C:\Program Files\Microsoft Office\Office\MSO9.DLL" no_namespace rename("DocumentProperties","DocumentPropertiesXL")
#import "C:\Program Files\Fichiers communs\Microsoft Shared\Office10\MSO.DLL" no_namespace rename("DocumentProperties","DocumentPropertiesXL")
#import "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace
//#import "C:\Program Files\Microsoft Office\Office\MSWORD9.OLB" rename("ExitWindows", "ExitWindowsWD") no_dual_interfaces
#import "C:\Program Files\Microsoft Office\Office10\MSWORD.OLB" rename("ExitWindows", "ExitWindowsWD") no_dual_interfaces
#pragma warning(default: 4192)
#pragma warning(default: 4049)
#pragma warning(default: 4146)

struct InitOle {
InitOle() {CoInitialize(NULL);}
~InitOle() {CoUninitialize();}
} _init_InitOle_; // Global Instance to force load/unload of OLE

HINSTANCE hinst;

Word::_ApplicationPtr pWord;
Word::_DocumentPtr pDoc;

char szappname[] = "Word01";

inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};

void MsgAWordError(_com_error &e, HWND howner)
{
MessageBox(howner, (LPCSTR) e.Description(), szappname, MB_ICONEXCLAMATION);
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
hinst = hInstance;
_variant_t mydoc("d:\\htmlhelp.doc");
try {
pWord.CreateInstance(L"Word.Application");
pWord->PutVisible(1);
pDoc = pWord->Documents->Open((VARIANT *)&mydoc);
}
catch(_com_error &e) {
MsgAWordError(e, 0);
}
return 0;
}

BruNews, ciao...
0
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
28 mars 2005 à 18:46
j'ai pas vraiment compris ce que tu demandes pour la traduction pour excel. il faut mêtre koi dans les imports?
0
Rejoignez-nous