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

Название темы: макрос excel
Показать сообщение отдельно

Ветеран


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

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


Примерно так (WSH, VBScript):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFolder

Dim objFile
Dim objExcel


If WScript.Arguments.Count = 1 Then
	strSourceFolder = WScript.Arguments.Item(0)
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FolderExists(strSourceFolder) Then
			Set objExcel = Nothing
			
			For Each objFile In .GetFolder(strSourceFolder).Files
				Select Case LCase(.GetExtensionName(objFile.Name))
					Case "xls", "xlsx"
						If objExcel Is Nothing Then
							Set objExcel = WScript.CreateObject("Excel.Application")
						End If
						
						WScript.Echo objFile.Path
						
						With objExcel
							With .Workbooks.Open(objFile.Path)
								With .Worksheets.Item(1)
									.Shapes.Item("Picture -767").Delete
									.Range("H4:I6").Select
									objExcel.Selection.ClearContents
									.Range("A1").Select
									
									objExcel.Union(.Rows(.UsedRange.Rows.Count).EntireRow, .Rows(.UsedRange.Rows.Count -1).EntireRow).Delete
									
									.PageSetup.FitToPagesWide = 1
									.PrintOut ,, 3
								End With
								
								.Save
								.Close
							End With
						End With
					Case Else
						' Nothing to do
				End Select
			Next
			
			If Not objExcel Is Nothing Then
				Set objExcel = WScript.CreateObject("Excel.Application")
			End If
		Else
			WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
			WScript.Quit 2
		End If
	End with
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source folder>"
	WScript.Quit 1
End If

WScript.Quit 0

Целевая папка указывается параметром скрипта (также можно просто перетащить папку на скрипт в Проводнике).

Отправлено: 16:42, 01-07-2015 | #10

Название темы: макрос excel