Уважаемые знатоки! Нужна помощь: Есть такая проблема - прислали более ста файлов excel и в каждом из них установлена галочка "черно-белая печать". Можно ли каким-то образом применить снятие этой галочки для всех файлов? - открывать все очень трудоемко (открыть - предв.просмотр-лист, снятие, сохранение и так каждый файл..)
Уважаемые знатоки! Нужна помощь: Есть такая проблема - прислали более ста файлов excel и в каждом из них установлена галочка "черно-белая печать". Можно ли каким-то образом применить снятие этой галочки для всех файлов? - открывать все очень трудоемко (открыть - предв.просмотр-лист, снятие, сохранение и так каждый файл..)4zz
Если сами хоть чуть пишете, можно так. Собрать все необходимые файлы в одну папку, желательно без лишнего. Включить рекодер, на одном файле снять требуемую галочку, остановить рекодер. В записанном макросе найти запись этого действия. Найти на форуме макрос-перебор всех файлов папки. Внутрь цикла поместить это действие.
Или сами не пишете вообще?
Если сами хоть чуть пишете, можно так. Собрать все необходимые файлы в одну папку, желательно без лишнего. Включить рекодер, на одном файле снять требуемую галочку, остановить рекодер. В записанном макросе найти запись этого действия. Найти на форуме макрос-перебор всех файлов папки. Внутрь цикла поместить это действие.
Набросал, вроде работает. На первом листе в ячейку A1 нужно внести ту папку, в которой лежат Ваши файлы для возврата цветной печати. [vba]
Код
Sub ЦвПечать() Dim sFolder As String, sFiles As String, fFile As String
sFolder = ThisWorkbook.Sheets("Лист1").Cells(1, 1).Value sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator) ' Application.ScreenUpdating = False sFiles = Dir(sFolder & "*.xls*") If sFiles = "" Then Exit Sub fFile = sFiles Do If sFiles <> ThisWorkbook.Name Then Workbooks.Open sFolder & sFiles ActiveWorkbook.ActiveSheet.PageSetup.BlackAndWhite = False ActiveWorkbook.Close True End If sFiles = Dir Loop While (sFiles <> "") And (sFiles <> fFile) ' Application.ScreenUpdating = True End Sub
[/vba]
В начале некоторых строк кода стоит символ '. Эти строки не выполняются. Если символ убрать, они будут выполняться, тогда не будет перерисовываться экран. В этом случае программа отработает намного быстрее, но Вы не будете видеть состояние процесса и если вдруг произойдет зависание, не будете об этом знать... Что еще... Макрос рассчитан на то, что все файлы закрыты. Он их по очереди открывает, подправляет и закрывает. Если вдруг где-то пароли, нужно будет ввести их вручную по запросу EXCEL. Все их Вы должны знать, иначе какие-то файлы не получится либо открыть, либо сохранить. Скорее всего, при первой же такой ситуации выполнение программы по ошибке прекратится. Тогда просто удаляйте проблемные файлы из папки, чтобы хотя бы нормальные программно отработались.
Набросал, вроде работает. На первом листе в ячейку A1 нужно внести ту папку, в которой лежат Ваши файлы для возврата цветной печати. [vba]
Код
Sub ЦвПечать() Dim sFolder As String, sFiles As String, fFile As String
sFolder = ThisWorkbook.Sheets("Лист1").Cells(1, 1).Value sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator) ' Application.ScreenUpdating = False sFiles = Dir(sFolder & "*.xls*") If sFiles = "" Then Exit Sub fFile = sFiles Do If sFiles <> ThisWorkbook.Name Then Workbooks.Open sFolder & sFiles ActiveWorkbook.ActiveSheet.PageSetup.BlackAndWhite = False ActiveWorkbook.Close True End If sFiles = Dir Loop While (sFiles <> "") And (sFiles <> fFile) ' Application.ScreenUpdating = True End Sub
[/vba]
В начале некоторых строк кода стоит символ '. Эти строки не выполняются. Если символ убрать, они будут выполняться, тогда не будет перерисовываться экран. В этом случае программа отработает намного быстрее, но Вы не будете видеть состояние процесса и если вдруг произойдет зависание, не будете об этом знать... Что еще... Макрос рассчитан на то, что все файлы закрыты. Он их по очереди открывает, подправляет и закрывает. Если вдруг где-то пароли, нужно будет ввести их вручную по запросу EXCEL. Все их Вы должны знать, иначе какие-то файлы не получится либо открыть, либо сохранить. Скорее всего, при первой же такой ситуации выполнение программы по ошибке прекратится. Тогда просто удаляйте проблемные файлы из папки, чтобы хотя бы нормальные программно отработались.Perfect2You