Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 3 ]
- chilli81
- рядовой
- Неактивен
- Зарегистрирован: 20.07.2014
- Сообщений: 2
Тема: Автоудаление столбца по маске
Суть в чем...Есть таблица на которой имеется список с номерами, между которыми в произвольном порядке раскиданы IP адреса типа 11.144.12.13. Как мне автоматически удалить строчки, в которых они встречается? Заранее благодарен.
P.S. Вот этот макрос выдает ошибку
Public Sub DeleteCells()
Dim Doc As Document
Dim Table As Table
Dim Rw As Row
Dim Cell As Cell
Set Doc = ActiveDocument
For Each Table In Doc.Tables
Table.Range.Select
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[^0013]{1;}"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
For Each Rw In Table.Rows
i = 0
For Each Cell In Rw.Cells
i = i + 1
If Cell.Range.Characters.Count = 1 And i = 6 Then
Rw.Delete
End If
Next Cell
Next Rw
Next Table
End Sub
- chilli81
- рядовой
- Неактивен
- Зарегистрирован: 20.07.2014
- Сообщений: 2
Re: Автоудаление столбца по маске
В строчке .Replacement.Text = "" я ставил ".???."
- Boris_R
- полковник
- Неактивен
- Зарегистрирован: 07.08.2012
- Сообщений: 234
- Поблагодарили: 110
- За сообщение: 1
Re: Автоудаление столбца по маске
chilli81 пишет:Суть в чем...Есть таблица на которой имеется список с номерами, между которыми в произвольном порядке раскиданы IP адреса типа 11.144.12.13. Как мне автоматически удалить строчки, в которых они встречается?
Попробуйте такой макрос:
Sub Удаление_строк_таблицы_по_маске()
ActiveDocument.Range.Select
Selection.Collapse
Selection.Find.ClearFormatting
Do
With Selection.Find
.Text = "[0-9]@.[0-9]@.[0-9]@.[0-9]@." 'Маска поиска для выражения вида 11.144.12.13.
.Wrap = wdFindStop
.MatchWildcards = True 'Поиск с использованием подстановочных знаков
.Execute
If .Found = True And Selection.Information(wdWithInTable) = False Then 'если результат поиска вне таблицы
Selection.Collapse direction:=wdCollapseEnd 'то сбрасываем выделение в конец
ElseIf .Found = True And Selection.Information(wdWithInTable) = True Then 'если результат поиска - в таблице
Selection.Rows.Delete 'то удаляем строку таблицы
End If
End With
Loop Until Selection.Find.Found = False 'выходим из цикла, если больше ничего не найдено
End Sub
Сообщений [ 3 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Автоудаление столбца по маске
Для тех, у кого возникло желание усовершенствовать свои знания о приложении Microsoft Word, в частности освоить написание макросов и создание шаблонов для этой программы, хорошим решением будет форум сайта Ворд Эксперт. Наш сайт о Microsoft Office Word даст ответ про: как в ворде 2010 делать чтобы слова шли полукругом.
Кроме автоматизации здесь вы сможете получить и массу другой полезной информации по Ворду: настройки той либо иной версии, оптимальные назначения горячих клавиш для различных операций, полезную литературу и многое другое. На портале о Microsoft Office Word вы узнаете про: в word 2010 недоступны макросы защита документа.
При желании можно сделать заказ участникам форума на разработку решения вашей проблемы или поискать готовое решение в специальном подразделе. На портале о Microsoft Office Word вы узнаете про: как в ворде нумеровать страницы со второго листа.