Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


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

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


Цитата Quaker_75:
есть ли возможность пакетной вставки строки кода в несколько книг? »
Временно разрешите доступ к проектам VBE групповой политикой:


Соберите в текстовый файл пути к потребным файлам рабочих книг в виде:
Код: Выделить весь код
E:\Песочница\0127\Книга1.xls
E:\Песочница\0127\Книга2.xls
…
C:\bla-bla-bla\КнигаNN.xls
Затем исполните следующий WSH-код:
читать дальше »
Код: Выделить весь код
Option Explicit

Const vbext_pk_Proc = 0

Dim strFileList

Dim objFSO
Dim strFile

Dim objExcel
Dim strProcLine


If WScript.Arguments.Count = 1 Then
	strFileList = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strFileList) Then
		Set objExcel = WScript.CreateObject("Excel.Application")
		
		With objFSO.OpenTextFile(strFileList)
			Do Until .AtEndOfStream
				strFile = .ReadLine()
				
				If objFSO.FileExists(strFile) Then
					If UCase(objFSO.GetExtensionName(strFile)) = UCase("xls") Then
						WScript.Echo strFile
						
						With objExcel.Workbooks.Open(strFile)
							With .VBProject.VBComponents.Item(.CodeName).CodeModule
								strProcLine = 0
								
								On Error Resume Next
								strProcLine = .ProcBodyLine("Workbook_BeforePrint", vbext_pk_Proc)
								On Error Goto 0
								
								If strProcLine = 0 Then
									strProcLine = .CreateEventProc("BeforePrint", "Workbook")
									.ReplaceLine strProcLine + 1, vbTab & "Cancel = True"
								Else
									WScript.Echo "  Already has a [Workbook_BeforePrint] procedure at line " & CStr(strProcLine)
								End If
							End With
							
							.Save
							.Close
						End With
					Else
						WScript.Echo "File [" & strFile & "] probably is not a Excel Workbook"
					End If
				Else
					WScript.Echo "File [" & strFile & "] not found"
				End If
			Loop
			
			.Close
		End With
		
		objExcel.Quit
		
		Set objExcel = Nothing
	Else
		WScript.Echo "File List [" & strFileList & "] not found"
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptFullName & """ ""<Path to File List>"""
End If

WScript.Quit 0

указав в качестве аргумента скрипта путь к этому текстовому файлу.

Удалите заданную политику или верните предыдущее значение политики.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:50, 16-03-2012 | #13