Тема: Удаление не нужных элементов текста
Есть текст внешняя ссылка Как удалить одним махом элементы: Назад Содержание Дальше...
Отредактировано assent (13.10.2010 09:20:58)
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть текст внешняя ссылка Как удалить одним махом элементы: Назад Содержание Дальше...
Отредактировано assent (13.10.2010 09:20:58)
Не успел глянуть сегодня - но идея =>:
1) Поиск всех таблиц
2) Проверка элементов таблицы
2.1. (1;1)="Назад" с TRIM
2.2. (2;1)="Содержание"
если совпадает - убить таблицу и перейти к следующей
А как найти все таблицы и проверить все их элементы? А дальше вообще не понятно. В моём случае всё удаляется после преобразования Назад Содержание Дальше... в текст. Как это сделать?
Отредактировано assent (13.10.2010 11:08:40)
В вашем случае 3 варианта записей в таблице:
Содержание;Дальше...
Назад;Содержание;Дальше...
Назад;Содержание
я сделал обобщение и получил 2 условия - см ниже Left - т.к. выяснилось, что там в конце еще передается символ ? абзаца... Думаю, такой точности проверки достаточно
Поскольку в тексте есть и таблицы только в 1 столбец, то добавлено еще 1 условие
Sub TblDeleter()
Dim myTable As Table
For Each myTable In ActiveDocument.Tables
If myTable.Rows(1).Cells.Count > 1 Then
If Left(myTable.Cell(1, 1).Range.Text, 5) = "Назад" And Left(myTable.Cell(1, 2).Range.Text, 5) = "Содер" _
Or Left(myTable.Cell(1, 1).Range.Text, 5) = "Содер" And Left(myTable.Cell(1, 2).Range.Text, 5) = "Дальш" Then
myTable.Delete
End If
End If
Next myTable
End Sub
А вообще - вы, видимо не любопытны... ваша задача скорее рутинная из-за необходимости специфических условий - работа же с таблицами как таковыми минимальна - первые же 3-5 запросов в Yandex/Google дали бы вам ответ
От администратора: Пожалуйста, оформляйте код специальными тегами code.
Отредактировано admin (13.10.2010 14:53:09)
А вот это:
Sub TblDeleter()
Dim myTable As Table
For Each myTable In ActiveDocument.Tables
If myTable.Rows(1).Cells.Count > 1 Then
If Left(myTable.Cell(1, 1).Range.Text, 5) = "Назад" And Left(myTable.Cell(1, 2).Range.Text, 5) = "Содер" _
Or Left(myTable.Cell(1, 1).Range.Text, 5) = "Содер" And Left(myTable.Cell(1, 2).Range.Text, 5) = "Дальш" Then
myTable.Delete
End If
End If
Next myTable
End Sub
Что это такое? Макрос?
Отредактировано admin (13.10.2010 14:51:47)
Да, это макрос - по крайней мере мне не известно как задать 2 условия в поиске и есть ли спец. символ поиска обозначающий таблицы.
Вручную это делается так (у меня англ версия, поэтому привожу клав. комбин:
1) отжать клавишу NumLock
2) Ctrl+G -> открывается диалог GoTo - выбираете там таблицу и жмете Next(следующ).
3) закрываете диалог
4) Alt + Num5 - выделится вся таблица (если забыли 1 - впечатаются ♣ )
5) Shift+Del - просто Del очистит таблицу
6) Ctrl+Alt+Y - переход на следующую таблицу - это вообще полезная комбинашка чтобы не вызывать повторно диалог поиска...
Отредактировано VBA-addict (13.10.2010 14:37:21)
А Num5 что это? Если Alt+цифра5 то у меня выскакивает Вставка рисунка.
Отредактировано assent (13.10.2010 16:48:35)
Num5 это кнопка 5 на цифровом блоке - самая правая часть клавиатуры
Иллюстрация 1
N / * -
7 8 9 +
4 5 6 +
1 2 3 E
0 0 . E
Видимо, вы меняли назначение клавиш по умолчанию - легко проверить
Меню Tools\Customise\Keyboard - встать на поле New Shortcut Key и нажать вашу комбинацию
у меня на <Alt +Num5> показывает Currently assigned to: TableSelectTable
Если у вас иное - выберите слева в поле Categories - Table, а в поле Commands - TableSelectTable - и назначьте свои клавиши - тогда их и применяйте....
Относительно этого:
Иллюстрация 1
N / * -
7 8 9 +
4 5 6 +
1 2 3 E
0 0 . E
то у меня почти также, за исключением последней строки:0DelE По поводу остального: не дружу с аглицким, поэтому не могу понять где искать эти настройки
Отредактировано assent (13.10.2010 19:06:50)
Сервис\Настройка\Сочетания клавиш -> Категории:Таблица ->Команды:TableSelectTable
Ну сообразите же сами хоть чуть-чуть...
З.Ы.
то у меня почти также, за исключением последней строки:0DelE
а вы чуть выше надписи Del на этой кнопке смотреть пробовали?
Отредактировано VBA-addict (13.10.2010 19:41:01)
Брат VBA-addict! Относительно 6 поста: я во всём разобрался! Но по-моему я делаю быстрей. В документе я нажимаю Ctrl и вращаю колесо мыша вперёд и масштаб просмотра уменьшаю до 30%. И в ручную! Думал есть какой безмакросный способ побыстрее.
Вопрос в том - а в чем макрособоязнь-то? У меня ваш документ макрос прошерстил где-то сек за 10...
Если вы так круты, что можете быстрее вручную - снимаю шляпу
В общем, получилось так, что мы тут дольше топик пишем, чем можно было бы запустить макрос со всеми объяснениями как это делать
Отредактировано VBA-addict (13.10.2010 19:46:02)
Не записываются у меня макросы. А как включить в настройках - не знаю.
VBA-addict
Спасибо за макрос! Еще желательно было бы иметь макрос для удаления любых таблиц в документе. Что надо изменить?
Отредактировано tigr (14.10.2010 09:27:24)
Не записываются у меня макросы. А как включить в настройках - не знаю.
Призыв: Ну будьте же любопытны и вам воздастся сторицей
с этого же сайта из раздела >> Форум сайта » Часто задаваемые вопросы » О макросах :
Создание макроса из готового кода http://wordexpert.ru/page/sozdanie-makr … ovogo-koda
Автоматическая запись макроса http://wordexpert.ru/page/avtomatichesk … is-makrosa
Как назначить сочетания клавиш для макросов http://wordexpert.ru/page/kak-naznachit … a-makrosov
с других сайтов:
Word 2003/2007. Народные советы внешняя ссылка
Знакомство с макросами: руководство внешняя ссылка
VBA-addict
Спасибо за макрос! Еще желательно было бы иметь макрос для удаления любых таблиц в документе. Что надо изменить?
убрать условия и оставить только удаления...
Sub TblDelALL()
Dim myTable As Table
For Each myTable In ActiveDocument.Tables
myTable.Delete
Next myTable
End Sub
>> аФФтору сайта/форума
может таки добавить - в Часто задаваемые вопросы - как включить макросы - что-то типа - "Мой первый макрос" + настройки безопасности... в формате "для чайников"...
Ура! Заработало!
>> аФФтору сайта/форума
может таки добавить - в Часто задаваемые вопросы - как включить макросы- что-то типа - "Мой первый макрос" + настройки безопасности... в формате "для чайников"...
Так ведь есть уже. Просто люди не всегда хотят потрудиться и поискать. По себе сужу Но, за предложение спасибо.
VBA-addict
Спасибо за макрос для удаления любых таблиц в документе. Аналогичный макрос для удаления рисунков можно?
tigr, в отличии от таблиц, с графикой в Word не все так однозначно. Графические объекты бывают разных типов.
Я рекомендую вам ознакомиться с подробнейшей статьей Марка Розенберга Обработка графики в Microsoft Word средствами VBA.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Удаление не нужных элементов текста
Различные компьютерные приложения – это такая вещь, которую нельзя изучить до конца. Тут свои секреты, различные пути, удобные варианты работы и настроек. На портале о Microsoft Office Word вы узнаете про: ключи активации microsoft office 2007. Но, порой, хочется поделиться своими методами работы или найти мастер-класс по различным вопросам. Есть несколько хороших форумов, в коих можно почерпнуть нужные сведения по той либо иной проблеме, не утонув в море ненужной информации. На портале о Microsoft Office Word вы узнаете про: как поставить символ. Если говорить о такой программе, как Microsoft Word, то стоит посетить форум сайта Ворд Эксперт.
Структура форума предполагает три раздела: основной, заказы и общения. На портале о Microsoft Office Word вы узнаете про: как рамки удалить в ворде. В основном разделе вы найдете общую информацию, которая касается форума и сайта, там же выложены наиболее часто возникающие вопросы по программе Microsoft Word. На портале о Microsoft Office Word вы узнаете про: почему выбираю шрифт а печатает все одинаковым курсивом. Там же можно обсудить проблемы форматирования и редактирования текста, настроек и совместимостей различных версий. Наш сайт о Microsoft Office Word даст ответ про: как в ворде можно разделить один рисунок на несколько. Написать макросы научат в разделе «Автоматизация», а для ленивых или очень занятных существуют «Готовые решения». На портале о Microsoft Office Word вы узнаете про: вернуть панель в word.
Если в основных разделах форума вам не помогли, то к вашим услугам замечательный раздел «Заявки на разработку». На портале о Microsoft Office Word вы узнаете про: поменять ориентацию листа в ворде. Можете заказать шаблон, написание макросов, либо что-то другое. Кстати, вы можете поделиться и своими разработками. На портале о Microsoft Office Word вы узнаете про: ссылка в ворде на текст.
Приятного и плодотворного общения на сайте Ворд Эксперт.