romfus, ну, пробуйте (на WSH):
Скрытый текст
Код:
![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Dim strSourceFolder
Dim strDestFolder
Dim objFSO
Dim objFile
Dim objExcel
strSourceFolder = "C:\Мои проекты\0155\Source"
strDestFolder = "C:\Мои проекты\0155\Destination"
Set objExcel = Nothing
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strSourceFolder) Then
If objFSO.FolderExists(strDestFolder) Then
For Each objFile In objFSO.GetFolder(strSourceFolder).Files
Select Case LCase(objFSO.GetExtensionName(objFile.Name))
Case "xls", "xlsx"
If objExcel Is Nothing Then
Set objExcel = WScript.CreateObject("Excel.Application")
End If
With objExcel
With .Workbooks.Open(objFile.Path)
With .Worksheets.Item(1)
If StrComp(.Cells(1, 1).Value, "num", vbTextCompare) = 0 Then
With .UsedRange.EntireColumn
.Offset(0, 1).Delete
.AutoFit
End With
Else
WScript.Echo "Can't find [num] in A1 cell in first worksheet in [" & objFile.Name & "] workbook."
End If
End With
.SaveAs objFSO.BuildPath(strDestFolder, objFile.Name)
.Close
End With
End With
Case Else
' Nothing to do
End Select
Next
objExcel.Quit
Set objExcel = Nothing
Else
WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
WScript.Quit 1
End If
Set objFSO = Nothing
WScript.Quit 0
Но у меня возник вопрос — вот, Вы распечатываете результирующие Рабочие книги. И только? А потом они Вам не требуются, и Вы их удаляете? Если так, то вовсе нет никакой нужды в сохранении Рабочих книг: можно удалить все столбцы, кроме num, подогнать ширину столбца num по содержимому, отправить результат на печать и закрыть Рабочую книгу, никуда не сохраняя
![Smile](images/smilies/new/smile.gif)
. Как Вам такое? Или же Вы там ещё каким-то хитрым образом подгоняете, масштабируете, соединяете результирующие данные?