Цитата Vadikan:
удалит все столбцы со всех листов во всех книгах. »
|
«Все столбцы» — подходящие под условие столбцы
B? Можно попробовать так:
читать дальше »
Код:
Option Explicit
Const xlWorksheet = &HFFFFEFB9
Dim strFolder
Dim objFSO
Dim objFile
Dim objExcel
Dim objWorksheet
If WScript.Arguments.Count = 1 Then
strFolder = WScript.Arguments.Item(0)
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strFolder) Then
Set objExcel = WScript.CreateObject("Excel.Application")
For Each objFile In objFSO.GetFolder(strFolder).Files
Select Case LCase(objFSO.GetExtensionName(objFile.Name))
Case "xls", "xlsx"
With objExcel.Workbooks.Open(objFile.Path)
For Each objWorksheet In .Sheets
With objWorksheet
If .Type = xlWorksheet Then
With .Cells.Item(1, 2)
If .Value = "Owner" Then
.EntireColumn.Delete
End If
End With
End If
End With
Next
.Save
.Close
End With
Case Else
' Nothing to do
End Select
Next
objExcel.Quit
Set objExcel = Nothing
Else
WScript.Echo "Folder [" & strFolder & "] not found"
End If
Else
WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Folder>"
End If
WScript.Quit 0
* писалось под 2003-им Microsoft Excel, потому крайне рекомендую сначала опробовать «на свинках»;
* не рекурсивно.