EOleSysErr "Une exception s'est produite"
Bonjour,
dans la methode onclick d'un bouton j'ai ecris le code suivant qui transfrer le contenu d'une stringgrid dans un classeur excel et laisse l'instance d'excel ouverte :
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
|
Variant vMSExcel,vXLWorkbook,vXLWorkbooks,vWorksheet,vWsName,vWorksheets,vCell,vValue;
vMSExcel = Variant::CreateObject("Excel.Application");
vMSExcel.OlePropertySet("Visible", true);
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook = vXLWorkbooks.OleFunction("Add");
vWsName="Chiffres";
try {
vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", vWsName);
} catch (...) {
vWorksheets = vXLWorkbook.OlePropertyGet("Worksheets");
vWorksheet = vWorksheets.OleFunction("Add");
vWorksheet.OlePropertySet("Name", vWsName);
}
int n=SG->RowCount;
int m=SG->ColCount;
for (int i =1; i <=n; i++) {
for (int j =1; j <=m; j++) {
vCell = vWorksheet.OlePropertyGet("Cells", i,j);
vValue = StringToOleStr(SG->Cells[j-1][i-1] ) ;
vCell.OlePropertySet("Value", vValue);
}
} |
MAIS lors de l'execution et avant que la feuille de calcul ne soit remplie, il y a toujours un message signalant que:
Citation:
Le projet **** a declenché la classe d'exception EOleSysError avec le message:"Une exception s'est produite"
Quand je choisis : Continuer la feuille est remplie
Quand je choisit :Arrêter l'execution s'arrete et un fichier sysvari.h s'ouvre en marquant la ligne :
Code:
1 2
|
return OlePropertyGet(name, static_cast<TAutoArgsBase*>(&args)); |
je ne comprend pas de quoi il s'agit ??
quelq'un peut il m'aider?