Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX), которая «выдергивает» элементы из массива по их номеру:
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
И, наконец, для добавления к именам листов "живых" гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА (HYPERLINK), которая будет формировать адрес для перехода из имени листа
потом автоматизируем переход с каждого листа на лист с оглавлением - точно! именно созданием гиперссылки из первой ячейки листа!
смотрим на что получилось и понимаем что надо все это парсить - ну не совпадают номера ячеек на разных листах - так уж устроен вывод GPO в HTML - это даже не таблица, а просто хитро сверстанная простыня с набором данных.
пытаемся понять к каким контейнерам привязаны политики - опять таки макросом:
Sub параметры_безопасности()
'
' Макрос11 Макрос
'
'
Line0:
C1 = "C1"
C2 = "C2"
Set RangeObj = Cells.Find(What:="Параметры данного объекта групповой политики применяются только для следующих групп, пользователей и компьютеров:", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If RangeObj Is Nothing Then GoTo Line1 Else RangeObj.Select
Range(Selection, Selection.End(xlToRight)).Select
C1 = ActiveCell.Address
Set RangeObj = Cells.Find(What:="Фильтрация WMI", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If RangeObj Is Nothing Then GoTo Line1 Else RangeObj.Select
Range(Selection, Selection.End(xlToRight)).Select
C2 = ActiveCell.Address
If C1 = C2 Then GoTo Line2 Else RangeObj.Select
Range(C1, C2).Select
Selection.Copy
Worksheets("Лист5").Activate
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
Range("B319").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveCell.Offset(1, -1).Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
GoTo Line0
Line1:
Set RangeObj = Cells.Find(What:="Делегирование", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If RangeObj Is Nothing Then GoTo Line2 Else RangeObj.Select
Range(Selection, Selection.End(xlToRight)).Select
C2 = ActiveCell.Address
If C1 = C2 Then GoTo Line2 Else RangeObj.Select
Range(C1, C2).Select
Selection.Copy
Worksheets("Лист5").Activate
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
Range("B319").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveCell.Offset(1, -1).Select
'Stop
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
' Stop
GoTo Line0
Line2: Worksheets("Лист5").Activate
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
Range("B319").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = "N"
ActiveCell.Offset(1, -1).Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
' Stop
GoTo Line0
End Sub
и увы - по другому итоговую табличку не заполнить...
поковырялись, получили табличку:
|
Домен/Сайт |
GUID |
Название |
User Group Policy loopback processing mode |
Comment (из GPMC, при наличии) |
Прерывается наследование (Y/N) |
Форсируется (Y/N) |
Объекты применения GPO исходного леса |
Объекты применения GPO целевого леса |
Назначение - описание результата отработки политики |
Выполняемые скрипты |
Тестовая (Y/N) |
Наличие настроек в Computer Configuration (Y/N) |
Наличие настроек в User Configuration (Y/N) |
Фильтрация по группам безопасности (Y/N) |
Фильтрация WMI (Y/N) |
Целевое состояние (переносится как есть, интегрируется в стандартные GPO, не переносится, см лист "Расширенный статус") |
Имя целевого GPO (если применимо) если вдруг не переезжает то не применимо |