При работе в сторонней программе, периодически открываются окна с так называемыми "ненужными отчетами", которые хотелось чтобы сразу закрывались автоматически, при условии если в ячейке "А1" будет содержаться определенный текст, например "1. ИТОГ" Если появится другое лист "нужный отчет", то имя в той же ячейке "А1" будет всегда другим.
Подскажите как можно это автоматизировать? желательно чтобы "ненужные отчеты" закрывались сразу, без всплывающего окна (сохранить изменения в файле)
Добрый день. Реально. Если все файлы открываются в одном приложении. Но не понял критерии отбора - что должно быть в A1 в той книге, которая должна остаться открытой?
Hugo написал: Реально. Если все файлы открываются в одном приложении.
пока работает программа она по готовности выгружает один лист EXCEL, и дальше продолжает работать, по окончании снова открывает новый лист....если подождать достаточно долго (час/полтора) то в итоге получается открыто много окон, которые приходится все закрывать из-за их ненадобности
Цитата
Hugo написал: Но не понял критерии отбора - что должно быть в A1 в той книге, которая должна остаться открытой?
для всех листов которые должны остаться открытыми в этой ячейке могут быть разные значения: может быть пусто, может быть текст "2. Ошибки", может быть текст "3. Характеристики"
получается новая книга, не так выразился, закрывать приходится каждый файл. (1 - ненужный отчет = 1 файл)
Цитата
Hugo написал: 2. Для всех листов или книг, которые должны НЕ остаться открытыми в этой ячейке могут быть разные значения?
все книги должны быть закрыты , и у этих всех книг содержание ячейки "А1" всегда одно "1. ИТОГ", хоть для 1 отчета, хоть для 101
если возможно, то сделать чтобы если текст ячейки "А1" содержит "ИТОГ", то все эти книги должны быть закрыты, в противном случае другие окна/книги не должны быть закрыты
действительно все работает, большое СПАСИБО!!! Еще вопрос...файл всегда должен быть открыт? или его можно как нибудь спрятать в модуль книги по умолчанию?
P.S. попробовал , ругается на строчку If InStr(Wb.ActiveSheet.Range("A1"), "ИТОГ") Then