2017-09-22 2 views
-1

J'essaie d'utiliser un VBScript pour enregistrer un fichier Excel avec la date du jour. Il ouvre le classeur, mais n'enregistre pas le fichier Excel avec la date. Voici ce que j'ai:Utiliser VBScript pour enregistrer un fichier Excel avec la date du jour

Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open "C:\Tes\Book1.xlsm") 
objExcel.Application.Visible = True 
objExcel.Activeworkbook.SaveAs "C:\Test\Report\Book1" & 
format Date   (), "yyyymmdd") & ".xlsm" 
objExcel.Activeworkbook.Close 
objExcel.Quit 
WScript.Quit 
+0

Pouvez-vous afficher la sortie de l'exécution de cscript? –

Répondre

0

D'abord - votre syntaxe est brisée et le chemin est incomplet sur la ligne 2.

Deuxième - Ligne 4 se termine par un &. Vous devez terminer par un trait de soulignement (comme ceci: & _) pour continuer à la ligne suivante.

Également la ligne 5, vous ne pouvez pas non plus formater une date comme vous le feriez en bash, php ou perl. Vous devrez utiliser des fonctions disponibles, je trouve cela assez simple.

'Will Create a date format yyyymmdd 
'Due to unintended line-break in stack overflow this - I've split to 2 lines. 
MyDateFormat = Year(now) & Right("0" & Month(Now), 2) & _ 
    Right("0" & Day(now), 2) 
Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open("C:\test\Book1.xlsm") 
objExcel.Application.Visible = True 
objExcel.Activeworkbook.SaveAs "C:\test\Reports\Book1_" & _ 
    MyDateFormat & ".xlsm" 'You must append _ to continue to another line. 
objExcel.Activeworkbook.Close 
objExcel.Quit 
WScript.Quit