J'ai un fichier xlsx avec beaucoup de colonnes et de lignes. J'ai besoin de sélectionner des colonnes spécifiques pour générer un nouveau fichier xlsx.
Mon code est:Enregistrer des colonnes spécifiques au nouveau fichier xlsx avec vbscript
Public Sub xlsToCsv()
Dim WorkingDir
WorkingDir = "C:\test.xlsx"
Dim fso, FileName, SaveName, myFile
Dim objExcel, objWorkbook
Set fso = CreateObject("Scripting.FilesystemObject")
Set myFile = fso.GetFile(WorkingDir)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Open(myFile)
With objWorkbook.Sheets(1)
.Range("D87", .Range("D87").End(-4121)).Copy
objWorkbook.Sheets.Add().paste
.Range("E87", .Range("E87").End(-4121)).Copy
End With
dim sheet: set sheet = objWorkbook.Sheets.Add()
sheet.paste
objWorkbook.SaveAs("E:\test.csv"), 23
objWorkbook.Saved = true
objWorkbook.Close
Set objWorkbook = Nothing
Set objExcel = Nothing
Set fso = Nothing
Set myFolder = Nothing
End Sub
call xlsToCsv()
Mais cela ne copie pas toute la colonne. Comment puis-je réparer cela?
Pourriez-vous nous dire ce qu'il fait quand vous dites qu'il ne copie pas toute la colonne? –
La propriété copy de l'objet worbooks ne peut pas être mise en correspondance. erreur dans la ligne 14 (set objworkbook = objecel.workbooks.open (myfile)) – nolags