cs_othland
Messages postés298Date d'inscriptionjeudi 18 décembre 2003StatutMembreDernière intervention 9 février 2010
-
18 févr. 2007 à 17:12
jnmchl
Messages postés63Date d'inscriptiondimanche 16 octobre 2005StatutMembreDernière intervention13 novembre 2009
-
3 févr. 2008 à 21:01
salut tout le monde!
je pilote excel à partir d'une application, j'ouvre mon fichier excel et je le ferme comme suit :
////////////////
var
vMSExcel, vXLWorkbook : variant;
begin
vMSExcel := CreateOleObject('Excel.Application');
vXLWorkbook := vMSExcel.Workbooks.Open('c:\archive_2007.xls');
//traitement
//....
//....
//fin traitement
vXLWorkbook.Save;
vMSExcel.Quit;
showmessage('Sauvegarde effectuée avec succès');
////////////////////////
le problème c'est que je reçois une fenetre m'indiquant qu'un fichier qui porte ce nom existe deja et si je veux le remplacer...je pense qu'au début, je ne reçevais pas ce message!!
autre chose, mon fichier excel ne s'ouvre (par double cliques) qu'en mode lecture seule, et windows m'indique que le fichier est verouillé par l'admin qui est moi même
avez vous une solution??
merci
cs_pers
Messages postés38Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention 9 décembre 2009 21 févr. 2007 à 15:01
Salut<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
- la commande .Open implique que ton fichier existe déjà : exécute ton programme sans .Open puis fais un .SaveAs précédé de "DisplayAlerts := False" (ou du moins dans ce genre (cfr. doc VBA)
- le fait de sauvegarder dans le root de ton C (c:\ ) est susceptible de générer un fichier read-only en fonction de tes droits sur cette partition
- il me semble déconseillé de sauvegarder un fichier dans le root d'une partition
jnmchl
Messages postés63Date d'inscriptiondimanche 16 octobre 2005StatutMembreDernière intervention13 novembre 20091 3 févr. 2008 à 21:01
Bonjour,
Si c'est juste l'alerte qui te gène tu peux mettre vMSExcel..DisplayAlerts := False;
Sinon, tu devrais d'abord supprimer le fichier 'c:\archive_2007.xls' (ou mieux le renommer en 'c:\archive_2007.bck' mais qui suppose un traitement plus complet).