J'ai un tas de classeurs Excel qui contiennentplusieurs feuilles de calcul. Je souhaite parcourir chaque classeur et exporter chaque feuille de calcul dans son nouveau classeur. Je veux une feuille de calcul dans chaque nouveau classeur.
Voici ce que j’ai eu jusqu’à présent:
Sub ExportWorksheet(ByVal worksheet As Excel.Worksheet, ByVal filePath As String)
Dim xlApp As Excel.Application = New Excel.ApplicationClass
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add
worksheet.Select()
worksheet.Copy()
xlWorkBook.Worksheets.Add()
worksheet.Paste(Destination:=xlWorkBook)
xlWorkBook.SaveAs(Filename:=filePath)
xlWorkBook.Close(False)
xlApp.Quit()
End Sub
Réponses:
4 pour la réponse № 1Dans Excel, cela serait accompli en copiant la feuille de calcul dans un nouveau classeur, et non en créant un nouveau classeur, puis en y ajoutant la feuille de calcul. Ceci est réalisé en utilisant Worksheet.Copy
sans spécifier où vous voulez placer la feuille de calcul copiée dans le classeur.
Plus de lecture: http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.worksheet.copy(VS.80).aspx
1 pour la réponse № 2
Doh!
worksheet.SaveAs(Filename:=filePath)