Bonjour a tous, j'utilise les MFC sous VC++ 6 et j'aimerai convertir un fichier Excel en fichier TXT. Cela fonctionne avec WORD ver TXT mais les methodes de classes pour EXCEL ne sont apparement pas les memes que pour WORD. Voila mon code :
//FICHIER GENERER AVEC CLASSWIZARD
#include "msword8.h" //contient les classes pour WORD
#include "excel.h" //contient les classes pour EXCEL
//Fonction qui converti un Word en txt ET QUI FONCTIONNE
void WordToTxt()
{
UpdateData(TRUE);
if(_access(m_FileSrc,0)==-1)
{
AfxMessageBox("Erreur le document sélectionné est invalide");
return;
}
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vLong((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application appObj;
if(!appObj.CreateDispatch("Word.Application"))
AfxMessageBox("Impossible d'ouvrir l'application Word");
else
{
appObj.SetVisible(FALSE); //Cacher la fenêtre Word
Documents docsObj(appObj.GetDocuments());
_Document docObj;
docObj.AttachDispatch(docsObj.Open(COleVariant(m_FileSrc),vFalse,vFalse,vFalse,vLong,vLong ,vFalse,vLong,vLong,vLong));
m_FileSrc=m_FileSrc.Left(m_FileSrc.GetLength()-3);
m_FileSrc+="txt";
docObj.SaveAs(COleVariant(m_FileSrc),COleVariant((short)2),vFalse,COleVariant(""),vTrue,COleVariant(""),vFalse,vFalse,vFalse,vFalse,vFalse);
appObj.Quit(vLong,vLong,vLong);
AfxMessageBox("Conversion Word/Txt terminée avec succès!!!");
}
}
//Fonction qui converti un Excel en txt ET QUI NE FONCTIONNE PAS
void ExcelToTxt()
{
UpdateData(TRUE);
if(_access(m_FileSrc,0)==-1)
{
AfxMessageBox("Erreur le document sélectionné est invalide");
return;
}
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vLong((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application_Excel appObj; // appObj est un objet _Application_Excel
// Lancer Excel
if(!appObj.CreateDispatch("Excel.Application"))
AfxMessageBox("Impossible d'ouvrir l'application Excel");
else
{
appObj.SetVisible(FALSE); //Cacher la fenêtre Excel
//CODE CORRESPONDANT POUR EXCEL QUI ME POSE PROBLEME
AfxMessageBox("Conversion Excel/Txt terminée avec succès!!!");
}
}
Merci pour votre aide!!!