La copie et renommage non ouvert classeur dans excel
Je suis en train de copier l'intégralité d'un classeur fermé situé à un chemin d'accès au fichier, le renommer et de la sauvegarder dans un nouveau répertoire... je vais avoir des problèmes avec le changement de nom et d'économie, voici mon code donc loin:
Private Sub new_file_Click()
Dim ActBook As Workbook, NewFile As String
Dim ToolFilePath As String, DestFilePath As String, NewToolName As String
NewToolName = InputBox("Enter the Tool Name.")
MsgBox (Tools_ListBox.Value)
ToolFilePath = GetToolPath(Tools_ListBox.Value)
ToolFilePath = GetPath & ToolFilePath
DestFilePath = GetPath & GetDestPath(Tools_ListBox.Value) & NewToolName & ".xlsm"
Set ActBook = Workbooks.Add(ToolFilePath)
ActBook.SaveAs DestFilePath
ActBook.Close True
Le fichier que je veux copier est situé au chemin dans ToolFilePath et la je veux le renommer en est DestFilePath, qui comprend le excel .xlsm extension.
Où vais-je tort?
Grâce
- En vertu de la SaveAs vous avez besoin le type de fichier ajouté pour Excel 2007 et au-dessus.
- le chemin d'accès au fichier, DestFilePath a un .xlsm extension
- Ce que vous avez besoin est quelque chose comme cela
wkb.SaveAs sFileName, XlFileFormat.xlTemplate
, bien sûr, la vôtre sera un format de fichier différent, mais il doit lever une erreur si vous n'avez pas le XlFileFormat spécifié ajoutant le format de fichier n'est pas suffisant dans Excel 2007 et au-dessus. L'ordinateur, je travaille sur Excel 2003 uniquement, sinon je serait que vous obtenez le bon type de fichier. - Je crois que c'est le type que vous êtes à la recherche pour
xlOpenXMLWorkbookMacroEnabled
par msdn.microsoft.com/en-us/library/...
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas simplement utiliser:
Pas besoin de l'ouvrir.
FileCopy "C:\local files\tester.xlsx", "C:\local files\__TMP\tester_copy.xlsx"
a fonctionné pour moiVous pouvez également utiliser le NOM de la méthode si vous ne souhaitez pas conserver le fichier d'origine.