Цитата 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
указав в качестве аргумента скрипта путь к этому текстовому файлу.
Удалите заданную политику или верните предыдущее значение политики.