acceder excel déjà ouvert avec XP en vbs via ligne de commande

acceder excel déjà ouvert avec XP en vbs via ligne de commande - XML/XSL - Programmation

Marsh Posté le 12-06-2006 à 09:08:47    

mon VBS permet de nettoyer mon fichier excel tous les jours  
mon fichier excel ouvert continuellement,  
 
lorsque je lance mon vbs en double cliquant dessus çà fonctionne
lorsque je le lance via une ligne de commande AT ou via un automate par l'envoi d'un cmd
il se fige ???????????
 
quand je regarde mon gestionnaire de tache, le premier excel est ouvert avec eXCEL.exe /E
le second lors du lancement de mon vbs est ouvert avec SVCHOST /embedding
 
Comment puis-je faire pour que çà ne fige plus ???
 
en attendant votre aide, voici le début de mon vbs :
 
Const CheminExcel = "E:\CFT_PLUS\CFT_HABILLAGE\"
Const Source = "E:\CFT_PLUS\CFT_HABILLAGE\"
Const Destin = "\\SMBMWEB03\ECHANGE\CFT\CFT_PLUS\CFT_HABILLAGE\ARCHIVES\"
Const ChemPGM = "E:\dollaru\aprip1\prod_programme\"
 
'--------------------------------------------------------------------------------------------------------------------
'----------------------------------------- Création des Objets de travail -------------------------------------------
'--------------------------------------------------------------------------------------------------------------------
 
Set OBJSHELL = WScript.CreateObject("WScript.Shell" )    'Objet servant à passer des commandes DOS
Set OBJFILES = CreateObject("Scripting.FileSystemObject" )  'Objet servant à passer des commandes de gestion de fichier
Set Pilotage = WScript.GetObject(CheminExcel + "Pilotage.xls" )
Set Catalogue = Pilotage.Application.WorkSheets("CATALOGUE GENERAL" )
Set Noemie = Pilotage.Application.WorkSheets("NOEMIE" )
Set Aprica = Pilotage.Application.WorkSheets("APRICA" )
Set Bancaire = Pilotage.Application.WorkSheets("BANCAIRE" )
Set Delegation = Pilotage.Application.WorkSheets("DELEGATION" )
Set Divers = Pilotage.Application.WorkSheets("DIVERS" )
 
'--------------------------------------------------------------------------------------------------------------------
'------------------------------------------------ Corps du Programme ------------------------------------------------
'--------------------------------------------------------------------------------------------------------------------
 
Call Save_Pilotage                          
 
Set OBJFeuille = Catalogue                  
Call NettoyageCatalogue                    
 
Call RechercheJour(Jour_en_Cours)          
 
Set OBJFeuille = Noemie                    
Call NettoyageFamille(Jour_en_Cours, "lun" )
Call Mise_a_Jour_Dates(Jour_en_Cours, "lun" )
Set OBJFeuille = Aprica                      
Call NettoyageFamille(Jour_en_Cours, "lun" )  
Call Mise_a_Jour_Dates(Jour_en_Cours, "lun" )
 
 
 
Erreur = Err.Number
 
 
'--------------------------------------------------------------------------------------------------------------------
'------------------------------------------------- Gestion des Erreurs ----------------------------------------------
'--------------------------------------------------------------------------------------------------------------------
 
If Erreur <> 0 then
    ' OBJShell.run "E:\Packcenter\Sysauto\Prod_Erreur\XF_DEL.CMD nettoie.txt"
    Message = "Erreur VBS Code : " + Erreur
    Call NetSend(Message, "CFT" )
End IF
 
'--------------------------------------------------------------------------------------------------------------------
'----------------------------------------------- Procédures Principales ---------------------------------------------
'--------------------------------------------------------------------------------------------------------------------
 
'----- Sauvegarde du classeur pilotage
'----------------------------------------    
Sub Save_Pilotage
    SourceCopie = Source & "Pilotage.xls"            
    DestinationCopie = Destin & Year(Date) & "\Cft_Archives_Sem_"  
    DestinationCopie = DestinationCopie & Rajout_Zero(DatePart("ww", Date,2)) & "_" & Year(Date) & ".xls"
   Call CopieFichier(SourceCopie,DestinationCopie)
End Sub
 
'----- Nettoyage de la feuille Catalogue
'----------------------------------------    
Sub NettoyageCatalogue
    Call RecupNbLignes(1,i)
    If i > 1 Then    
       Catalogue.Range("A2:IV" & i).delete
    End If
End Sub

Reply

Marsh Posté le 12-06-2006 à 09:08:47   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed