Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата romfus:
Давайте. Попробуем »
Пробуйте:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFolder

Dim objFSO
Dim objFile

Dim objExcel


If WScript.Arguments.Count = 1 Then
	strSourceFolder = WScript.Arguments.Item(0)
	
	Set objExcel = Nothing
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FolderExists(strSourceFolder) 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
									
									.PrintOut
								Else
									WScript.Echo "Can't find [num] in A1 cell in first worksheet in [" & objFile.Name & "] workbook."
								End If
							End With
							
							.Close False
						End With
					End With
				Case Else
					' Nothing to do
			End Select
		Next
		
		objExcel.Quit
		
		Set objExcel = Nothing
	Else
		WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
		WScript.Quit 2
	End If
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source folder>"
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

Путь к исходной папке указывается параметром скрипта (также можно просто перетащить исходную папку на скрипт в Проводнике).
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:56, 10-05-2018 | #12