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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/******************************************************/
/* */
/* automation EXCEL */
/* */
/******************************************************/
#include <windows.h>
#include <stdio.h>
#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\Office10\EXCEL.EXE> \
rename("DialogBox","DialogBoxXLs") \
rename("RGB","RGBXLs") \
rename("DocumentProperties", "DocumentPropertiesXLs") \
no_dual_interfaces
#pragma warning(default: 4192)
#pragma warning(default: 4146)
using namespace Excel; //sinon préfixer les objets par Excel::
#define VT _ariant_t
#define BT _bstr_t
struct InitOle {
InitOle() { CoInitialize(NULL); }
~InitOle() { CoUninitialize(); }
} _init_InitOle_; // Global Instance to force load/unload of OLE
int main(int argc, char*argv[])
{
_ApplicationPtr pXlsApp;
_WorkbookPtr pBook; //pBook = pXlsApp->Workbooks->Add
//(static_cast<long>(Excel::xlWorksheet));
// Create the workbook
_WorksheetPtr pFeuille;
_ChartPtr pChart;
char nomf[256]; //nom et chemin de fichier Excel
printf("donnez le nom de fichier *.xls\n");
gets(nomf);
HRESULT hr = pXlsApp.CreateInstance(L"Excel.Application");
if( ! hr ) //accès au classeur
{
pXlsApp -> PutVisible(1); //0 pour invisible
pBook = pXlsApp -> Workbooks -> Open(nomf);
pFeuille = pXlsApp -> ActiveSheet;
long n = pXlsApp -> Range["D21"] -> Value;//lire une seule cellule ?
printf("%d\n", n);
pFeuille -> SaveAs("d:\\test2.xls");
pBook -> Close(); //ferme le classeur
}
else
{
MessageBox( NULL,
"d:\a.xls non trouvé...\t\t\n\nà corriger le chemin\n ",
"Erreur", MB_ICONEXCLAMATION );
return 0;
}
if( pXlsApp ) pXlsApp -> Quit(); //Quitte l'application
return 0;
} |
Partager