2017-10-17 3 views
2

J'ai un document Excel qu'un employé doit remplir l'information. Après cela, j'ai fait une macro qui enregistre le fichier dans 2 dossiers différents et l'imprime. Mon problème est le nom du fichier. Comment puis-je faire qu'il nomme le fichier par exempleExcel Importer et Enregistrer le nom de fichier de macro

QualityReportN où N est un nombre ou date_time exact (secondes)

voici le code à ce jour:

`Sub PrintSave() 
' 
' PrintSave Macro 
' 
' Print on default printer save 
' Save in two place: 
' 1.Specific folder on desktop (named quality cards) 
' 2.Network server (location eg. \\HOMEGROUP\QualityCards\) 
' 
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ 
     IgnorePrintAreas:=False 
    ActiveWorkbook.SaveAs Filename:= _ 
     "C:\Users\Logical\Desktop\EXEL\QualityReprotN.xlsx", FileFormat:= _ 
     xlOpenXMLWorkbook, CreateBackup:=False 
    ChDir "C:\Users\Logical\Desktop\New folder" 
    ActiveWorkbook.SaveAs Filename:= _ 
     "C:\Users\Logical\Desktop\Network\QualityReportN2.xlsx", FileFormat:= _ 
     xlOpenXMLWorkbook, CreateBackup:=False 
End Sub` 

Répondre

0
ActiveWorkbook.SaveAs Filename:= _ 
     "C:\Users\Logical\Desktop\Network\QualityReportN" & format(now(),"yyddmm_hhmmss") & ".xlsx", FileFormat:= _ 
     xlOpenXMLWorkbook, CreateBackup:=False 
1

vous pouvez utiliser la fonction Now()

Sub PrintSave() 
' 
' PrintSave Macro 
' 
' Print on default printer save 
' Save in two place: 
' 1.Specific folder on desktop (named quality cards) 
' 2.Network server (location eg. \\HOMEGROUP\QualityCards\) 
' 
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ 
     IgnorePrintAreas:=False 
    ActiveWorkbook.SaveAs Filename:= _ 
     "C:\Users\Logical\Desktop\EXEL\QualityReprotN" & format(now(),"yyddmm_hhmmss") & ".xlsx", FileFormat:= _ 
     xlOpenXMLWorkbook, CreateBackup:=False 
    ChDir "C:\Users\Logical\Desktop\New folder" 
    ActiveWorkbook.SaveAs Filename:= _ 
     "C:\Users\Logical\Desktop\Network\QualityReportN2" & format(now(),"yyddmm_hhmmss") & ".xlsx", FileFormat:= _ 
     xlOpenXMLWorkbook, CreateBackup:=False 
End Sub 

EDIT:

Consultez la bibliothèque VBA pour un autre formatage! Link

+0

Wow merci cela a fonctionné parfaitement, aussi merci pour le lien de formats très utile. Je suis capable de le faire comme je veux. ty beaucoup – JamesScult

+0

Bien sûr! Heureux d'aider, si la réponse était correcte pour vous s'il vous plaît marquer comme répondu afin que cela puisse être fermé. Aussi, il pourrait être bon d'avoir des vérifications d'erreurs dans votre code au cas où l'un des emplacements pourrait changer, le "New Folder" me fait un peu peur; peut-être ajouter une invite pour demander à l'utilisateur où les "nouveaux dossiers" sont juste au cas aussi? – Maldred