Ecrire dans fichier excel par interface C plus plus

Signaler
Messages postés
3
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
29 mars 2003
-
Messages postés
158
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
12 mars 2009
-
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

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
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...
Messages postés
158
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
12 mars 2009

j'ai pas vraiment compris ce que tu demandes pour la traduction pour excel. il faut mêtre koi dans les imports?