Enregistrer un .xls en vbscript
jo77
-
Serval07 Messages postés 15 Statut Membre -
Serval07 Messages postés 15 Statut Membre -
bonjour,
Je voudrai enregistrer mon fichier excel avant de le fermer, juste après l'impression. J'ai fait ça :
mais ça ne fonctionne pas. Est-ce que quelqu'un pourrait m'aider??
Merci
Je voudrai enregistrer mon fichier excel avant de le fermer, juste après l'impression. J'ai fait ça :
Set objXL = CreateObject("Excel.Application")
objXL.Visible = false
objXL.Workbooks.Add doc
objXL.ActiveSheet.PrintOut
objXL.ActiveSheet.save
objXL.Visible = FALSE
objXL.quit
Set objXL = Nothing
mais ça ne fonctionne pas. Est-ce que quelqu'un pourrait m'aider??
Merci
A voir également:
- Enregistrer un .xls en vbscript
- Audacity enregistrer son pc - Guide
- Comment ouvrir un fichier xls? - Guide
- Comment enregistrer un mail - Guide
- Comment enregistrer une conversation - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
8 réponses
FileCopy toto.xls copie_toto.xls
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open (toto.xls)
fermeture et enregistrement
wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit 'Fermeture de l'application Excel
'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
pour préciser sous quel nom l'enregistrer :
ActiveWorkbook.SaveAs FileName:="C:\Documents\File.xls"
COIN!
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open (toto.xls)
fermeture et enregistrement
wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit 'Fermeture de l'application Excel
'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
pour préciser sous quel nom l'enregistrer :
ActiveWorkbook.SaveAs FileName:="C:\Documents\File.xls"
COIN!
Bonjour,
Vous ne spécifier pas le répertoire de sauvegarde, alors XL sauvegarde dans le répertoire par défault. Au moment de lancer
la commande "wbExcel.save", vous ne spécifier pas de chemin d'accès, par conséquent XL sauvegarde dans le répertoire courant de l'application XL.
Utilisez plutôt :
wbExcel.SaveAs "C:\MR_E3_1_Others.xls"
Lupin
Vous ne spécifier pas le répertoire de sauvegarde, alors XL sauvegarde dans le répertoire par défault. Au moment de lancer
la commande "wbExcel.save", vous ne spécifier pas de chemin d'accès, par conséquent XL sauvegarde dans le répertoire courant de l'application XL.
Utilisez plutôt :
wbExcel.SaveAs "C:\MR_E3_1_Others.xls"
Lupin
re :
Exemple de pilotage d'Excel par VBS ici :
http://www.oricom.ca/lupin/Document/ExcelVBS.txt
Lupin
Exemple de pilotage d'Excel par VBS ici :
http://www.oricom.ca/lupin/Document/ExcelVBS.txt
Lupin
quand je fais ça, ça me mets "le fichier existe déjà, voulez-vous le remplacer"; en fait j'aimerai enregistrer sans avoir ce message.
Merci
Merci
re :
Normal, si le fichier est déjà présent, regarder dans l'exemple cité, et appliquer la routine suivante :
If (FichierExistant(Fichier)=True) Then
Set xlBook = xlApp.Workbooks.Open(Fichier)
Flag = True
Else
xlApp.SheetsInNewWorkbook = 1
Set xlBook = xlApp.Workbooks.Add
End If
'
Function FichierExistant(NomFichier)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
FichierExistant = fso.FileExists(NomFichier)
Set fso = Nothing
End Function
'
Je crois qu'il est possible de placer un paramètre dans la commande SaveAs pour forcer d'écraser un fichier existant mais je ne le connais pas de mémoire et je n'ai pas mon bouquin sous la main, toutefois vous pouvez contourner en détruisant le fichier s'il existe.
Lupin
Normal, si le fichier est déjà présent, regarder dans l'exemple cité, et appliquer la routine suivante :
If (FichierExistant(Fichier)=True) Then
Set xlBook = xlApp.Workbooks.Open(Fichier)
Flag = True
Else
xlApp.SheetsInNewWorkbook = 1
Set xlBook = xlApp.Workbooks.Add
End If
'
Function FichierExistant(NomFichier)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
FichierExistant = fso.FileExists(NomFichier)
Set fso = Nothing
End Function
'
Je crois qu'il est possible de placer un paramètre dans la commande SaveAs pour forcer d'écraser un fichier existant mais je ne le connais pas de mémoire et je n'ai pas mon bouquin sous la main, toutefois vous pouvez contourner en détruisant le fichier s'il existe.
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Je ne sais pas si vous avez trouvé l'option, alors je reporte ici les lignes m'ayant permis de contourner le problème.
xlApp.DisplayAlerts = False
xlBook.SaveAs "C:\Test.xls"
xlApp.DisplayAlerts = True
xlApp.Quit
Lupin
Je ne sais pas si vous avez trouvé l'option, alors je reporte ici les lignes m'ayant permis de contourner le problème.
xlApp.DisplayAlerts = False
xlBook.SaveAs "C:\Test.xls"
xlApp.DisplayAlerts = True
xlApp.Quit
Lupin
Merci beaucoup. J'ai trouvé aussi comme option
wbExcel.Close -1et ça l'enregistre dans le meme fichier.
Bonjour a tous, je comprends que ce sujet date mais il m'a mis sur la voie pour ecrire mon code. Je précise que je débute en Vbs.
J'aimerais monter un code qui me permet de
1.ouvrir une boite de dialogue qui demandera "est ce que le mois est écoulé en entier". Celle ci proposera deux options: non et on sort de la procédure ou oui et on lance la procédure suivante:
1.1.j'ai un grapphique dans un fichier excel (grap1.feuille1.xls)
1.2.je veux aller chercher ce graphe par une commande
1.3.je veux choisir l'imprimante cute pdf qui imprimera le graphe
1.4.je veux aller enregister le pdf resultant de l'impression dans un repertoire bien spécifique (c:/repertoire-specifique)
Je n'ai pas fait le point 1
pour le point 1.1 j'ai plutot pris la feuille (feuille.xls) car donner l'adresse du graphe je sais pas faire.
le point 1.2 je crois que c'est bon
le point 1.3 me retourne une erreur(xlApp.ActivePrinter="CutePDF Writer") je ne sais pas pourquoi
le point 1.4, j'y reflechit (une proposition serait la bienvenue)
Mon code:
J'aimerais monter un code qui me permet de
1.ouvrir une boite de dialogue qui demandera "est ce que le mois est écoulé en entier". Celle ci proposera deux options: non et on sort de la procédure ou oui et on lance la procédure suivante:
1.1.j'ai un grapphique dans un fichier excel (grap1.feuille1.xls)
1.2.je veux aller chercher ce graphe par une commande
1.3.je veux choisir l'imprimante cute pdf qui imprimera le graphe
1.4.je veux aller enregister le pdf resultant de l'impression dans un repertoire bien spécifique (c:/repertoire-specifique)
Je n'ai pas fait le point 1
pour le point 1.1 j'ai plutot pris la feuille (feuille.xls) car donner l'adresse du graphe je sais pas faire.
le point 1.2 je crois que c'est bon
le point 1.3 me retourne une erreur(xlApp.ActivePrinter="CutePDF Writer") je ne sais pas pourquoi
le point 1.4, j'y reflechit (une proposition serait la bienvenue)
Mon code:
Dim xlapp, classeur, feuille, Doc
Set xlapp = CreateObject("Excel.Application")
xlapp.Visible = True
Set classeur = xlapp.Workbooks.add
Set feuille = xlapp.ActiveSheet
'point 1.1
Set Doc = xlApp.WorkBooks.open("C:\Documents and Settings\stagiaire\Bureau\feuille.xls")
Ici on définit l'imprimante qui sera utilisée.
xlApp.ActivePrinter="CutePDF Writer"
Doc.PrintOut
Doc.Close
Dim appExcel 'Application Excel Dim wbExcel 'Classeur Excel Dim wsExcel 'Feuille Excel 'Ouverture de l'application Set appExcel = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel Set wbExcel = appExcel.Workbooks.Add ("C:\MR_E3_1_Others.xls") 'fermeture et enregistrement appExcel.ActiveSheet.PrintOut wbExcel.save wbExcel.Close 'Fermeture du classeur Excel appExcel.Quit 'Fermeture de l'application Excel 'Désallocation mémoire Set wsExcel = Nothing Set wbExcel = Nothing Set appExcel = Nothing