Fermer un objet com

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Damien GHOBRIAL
Messages : 7
Enregistré le : 11 Sep 2008, 16:00

Fermer un objet com

Messagepar Damien GHOBRIAL » 12 Sep 2008, 15:38

Bonjour !
Je suis tout nouveau (sur le forum comme dans le monde de R...)

J'ai écrit un petit programme qui fait un certain nombre de calculs et "j'exporte" le résultat de ces calculs dans un fichier Excel à l'aide du package rcom

Voici un extrait du code :

Code : Tout sélectionner

# Création d'une session Excel
excel<-comCreateObject("Excel.Application");
#comSetProperty(excel,"Visible",TRUE); # si jamais on veut la voir)
# Ajout d'un nouveau classeur
wb<-comInvoke(comGetProperty(excel,"Workbooks"),"Add");
# Activation de la feuille 1
sheet<-comGetProperty(comGetProperty(wb,"Sheets"),"Item",1);
comInvoke(sheet,"Activate");
# INTITULES DE LIGNES
libelle<-c("Effectif","Poids Moyen","Ecart type","Poids Min","Poids Max","Weff")
for (li in 1:6) {
   ligne<-comGetProperty(sheet,"Cells",li+1,1);
   comSetProperty(ligne,"Value",libelle[li]);
   police<-comGetProperty(ligne,"Font");
   comSetProperty(police,"Bold",TRUE);
}
# Remplissage du 1er tableau
for (i in 1:6) {
   for (j in 1:2) {
      cellule<-comGetProperty(sheet,"Cells",i+1,j+1);
      comSetProperty(cellule,"Value",control1[i,j]);
      comSetProperty(cellule,"HorizontalAlignment",3);
   }
}
#########################
# Sauvegarde du fichier #
#########################
fic_controle<-paste(repertoire,"\\fichier_de_controle_R.xls",sep="")
comInvoke(wb,"SaveAs",fic_controle)
comInvoke(excel,"Quit")


Tout va bien, sauf que quand je regarde la liste des processus (je suis sous windows), j'ai encore un processus Excel.

Ma question, donc :
On crée un objet avec la commande comCreateObject, connaissez-vous la commande qui "détruit" cet objet ?

Merci beaucoup !

Damien

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 15 Sep 2008, 09:08

Bonjour,

je ne connais pas le package que tu utilises mais si tu es sous windows tu peux fermer les processus excel en ajoutant à la fin de ton code cette ligne de commande :
system("taskkill /f /im Excel.exe")

Maxime

Damien GHOBRIAL
Messages : 7
Enregistré le : 11 Sep 2008, 16:00

Messagepar Damien GHOBRIAL » 15 Sep 2008, 09:11

Merci pour cette réponse !

Si d'autres utilisateurs ont des docs sur le package rcom et éventuellement des exemples de codes qui font de la mise en forme de fichier excel, je suis preneur, car je galère un peu quand même !

Merci !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité