Форум программистов, компьютерный форум, киберфорум
MS Office Word
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
1

Как быстро удалить в Word все кроме слов где есть гиперссылки

05.01.2015, 21:00. Просмотров 6173. Ответов 31
Метки нет (Все метки)

Добрый день. Нужно много обработать файлов в ворде 2007.
Задача такая нужно удалить всё кроме слов с ссылками.

Может быть можно как-то макросом?

Придумал 3 решения.
1. Удалять все кроме слов с ссылками
2. Выделять все слова с ссылками
3. Выделять или удалять каждую 4-ую строчку.

Помогите пожалуйста, руками будет очень долго.
Может быть есть и другие способы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2015, 21:00
Ответы с готовыми решениями:

Как удалить в Word все строки,кроме строк начинающейся с определённого слова?
Как удалить в Word все строки кроме строк начинающейся с определённого слова?(Word 2016)

Как удалить все гиперссылки сразу?
Есть довольно объемный текст в котором полно ссылок ( как правило неработающих),собственно в тексте...

Как из таблицы удалить все записи, кроме тех, где колонка middlename не пустая?
Привет! Подскажите пожалуйста,как из таблицы удалить все записи кроме тех где колонка middlename...

Как удалить все строки, где больше 7 слов
Здравствуйте! Помогите пожалуйста написать макрос для удаления всех строк в столбце (D3 : D47),...

31
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
05.01.2015, 23:34 2
Пройти макросом по коллекции гиперссылок и вывести их в другой документ
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
06.01.2015, 07:11  [ТС] 3
shanemac51, Ну как? Я не умею делать макросы. Пожалуйста, опишите более подробно.
0
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
06.01.2015, 09:25 4
Выделять или удалять каждую 4-ую строчку.
выложите образец файла
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
06.01.2015, 09:37  [ТС] 5
shanemac51,Прикрепил
0
Вложения
Тип файла: docx образец файла.docx (13.1 Кб, 19 просмотров)
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
06.01.2015, 11:18 6
поместите в каталог с вашими файлами и откройте
0
Вложения
Тип файла: zip macro06.zip (18.3 Кб, 32 просмотров)
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
06.01.2015, 11:43  [ТС] 7
Не много не так. Мне нужны не ссылки, а именно фразы( слова) с ссылками

Добавлено через 13 минут
А так все сработало. Быстро, и удобно)
Что изменить в макросе, что бы слова оставались?
0
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
06.01.2015, 11:52 8
добавьте строку
Visual Basic
1
2
3
Debug.Print h1.Address
ss = ss & h1.Address & Chr(13) & Chr(10)
ss = ss & h1.TextToDisplay & Chr(13) & Chr(10)
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
06.01.2015, 12:04  [ТС] 9
shanemac51,
Ошибка какая-то появляется

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit
Sub mhyper_150106w()
Dim spath, sname, ss
Dim doc1 As Document
Dim h1 As Hyperlink
Set doc1 = Word.ActiveDocument
spath = doc1.Path & "\"
sname = Dir(spath & "*.doc*")
Do While Len(sname) > 0
If Right(LCase(sname), 5) <> ".docm" Then
ss = ss & Chr(13) & Chr(10) & spath & sname & Chr(13) & Chr(10)
Word.Documents.Open spath & sname
For Each h1 In Word.ActiveDocument.Hyperlinks
Debug.Print h1.Address
ss = ss & h1.Address & Chr(13) & Chr(10)
 
Next h1
Word.ActiveDocument.Close False
End If
sname = Dir
Loop
Word.Documents.Add
Selection.Range.Text = ss
End Sub
 
Debug.Print h1.Address
ss = ss & h1.Address & Chr(13) & Chr(10)
ss = ss & h1.TextToDisplay & Chr(13) & Chr(10)
Сточки добавил в самый низ.

Добавлено через 8 минут
shanemac51,

Включил логику.
Удалил не нужное, и не много отредактировал. Все получилось.
Правда фразы уже без ссылок, но не его страшного.


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit
Sub mhyper_150106w()
Dim spath, sname, ss
Dim doc1 As Document
Dim h1 As Hyperlink
Set doc1 = Word.ActiveDocument
spath = doc1.Path & "\"
sname = Dir(spath & "*.doc*")
Do While Len(sname) > 0
If Right(LCase(sname), 5) <> ".docm" Then
ss = ss & Chr(13) & Chr(10) & spath & sname & Chr(13) & Chr(10)
Word.Documents.Open spath & sname
For Each h1 In Word.ActiveDocument.Hyperlinks
Debug.Print h1.Address
[B]ss = ss & h1.TextToDisplay & Chr(13) & Chr(10)[/B]
 
Next h1
Word.ActiveDocument.Close False
End If
sname = Dir
Loop
Word.Documents.Add
Selection.Range.Text = ss
End Sub

Спасибо большое, очень помогли
0
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
06.01.2015, 13:11 10
не забывайте про тег форматирования кода

--выделите код
--нажмите кнопочку (vb) --третья справа в нижнем ряду
1
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
06.01.2015, 21:21  [ТС] 11
shanemac51,
Все что нужно было от этого макрасо - получилось.( очень сэкономило время)

Еще есть одна задача.


Есть список 15000 фраз
Он имеет свою иерархию, и заголовки.
Так же, в нем есть много дублей. наверное %30.

Как их удалить? Т.е нужно, что бы остался только один вариант. ( их 3-4)

Обычно помогала простая сортировка, и ручками все удалял, но здесь не получится, т.к я не смогу обратно вернуть свою иерархию и заголовок в прежний вид, ну и долго будет очень, объем большой.


Что мне здесь может помочь?
0
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
06.01.2015, 22:46 12
от вас пример -- легче воспримется задача
сегодня уже некогда --завтра посмотрю
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
07.01.2015, 07:56  [ТС] 13
shanemac51,
Файл прикрепил

В общем в каждом списке, есть повторения, нужно что бы остался только один вариант

Такая идея в голову пришла, что каждый список можно выделить одним цветом, потом упорядочить все по алфавиту, удалить дубли, и уже все возвратить по цвету шрифта. Но так будет долго, и не удобно, ведь кол-во списков больше 20, да и объем большой 15000
0
Вложения
Тип файла: docx Для примера.docx (11.4 Кб, 5 просмотров)
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
07.01.2015, 09:51 14
МНЕ КАЖЕТСЯ ,что эта задача не для ворда, а для екселя
в каждую строку добавляется группа и 2 варианта
==сводная --чтобы посмотреть, где есть повторы и вручную выбрать
==удаление дублей(слепое)+впр
0
Миниатюры
Как быстро удалить в Word все кроме слов где есть гиперссылки  
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
07.01.2015, 15:18  [ТС] 15
shanemac51,
Если честно, то не понятно.
Понял что в Екселе будет проще - ок.

Получается нужно
1. Убрать заголовки
2. Все фразы одного списка пометить одним цветом ( это стиль)


Больше я не чего не понял. Объясните пожалуйста, более подробно. И если Вас не затруднит, то скиньте мне пожалуйста, файл ексель, где будет уже что-то понятно для меня
0
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
07.01.2015, 16:23 16
мне тоже многое непонятно

помидоры во всех группах ясности не прибавили
ясно лишь одно --есть два метода удаления
--слепое(помидоры попадут во фрукты --первая группа, где они есть)
--по выбору--надо выбрать вручную, что помидоры=овощ(а может и ягода, как иногда говорят об арбузе), всем помидорам присвоить выбранное значение и затем удалить повторы
====
и в русском языке достаточно много слов, которые одинаково пишутся, но означают разное и среди 15000 такие тоже явно будут

Добавлено через 8 минут
==============из интернета===============
Черника, клюква, брусника, смородина, виноград, крыжовник, рябина, арбуз, дыня, тыква, кабачок, помидор, цитрусовые (апельсин, лимон, мандарин) – это ягоды. Вы будете смеяться, но яблоко и груша также относятся к ягодам.
===============
Ягода - многосеменной одногнездный или многогнездный невскрывающийся плод. Т. к. семена помидора зреют в самой мякоти, то он и относится к ягодам, также к ягодам относятся-арбуз, банан и многое подобное.

Добавлено через 8 минут
=========определения из интернета=========
Фрукт (лат. fructus — плод) — сочный съедобный плод дерева или кустарника. Разновидностью фруктов являются также ягоды. В русском языке «фрукт» — термин не ботанический, а бытовой и хозяйственный.
====
По определению, овощ – это съедобная часть произрастающего на земле растения и не являющаяся при этом травой, специей, орехом, зерном или фруктом.
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
07.01.2015, 16:31  [ТС] 17
shanemac51,
)
Не важно, что овощ, что ягода - это просто пример, я его так придумал, что первое в голову пришло.
Суть в том, что почти в каждом списке, есть что-то, что есть в другом. Ну т.е в овощах есть помидор, ну и в ягодах тоже, т.е из ягод нужно удалить.
1. Нужно определить есть ли вообще дубли - это наверное можно сделать сортировкой, а если перед этим каждый список пометить своим цветом, то сортировку можно уже сделать по цвету, и тем самым востановить сам смысл списков. - наверно это долго.
Что вы предлагаете?

Добавлено через 1 минуту
Объем 15000 фраз. Руками читать каждое слово - не очень охота, по этому и хочется как-то автоматизировать
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
07.01.2015, 18:53  [ТС] 18
shanemac51,
Прицепил сюда файл.

Файл - ворд.


В нем 2 списка
Т.е в этих списках есть одинаковые названия( слова) их нужно найти, и удалить( оставить только 1 вар)

p.s Вообще, списков больше чем 2, но я не стал большой делать файл. Если нужно, то можно просто скопировать один список, и по другому его назвать ( список 3). Думаю 2 хватит, для настойки

Не стал в ексель вставлять, думаю у Вас лучше получиться.
Заранее спасибо за помощь.
0
Вложения
Тип файла: docx для примера 2.docx (25.6 Кб, 4 просмотров)
Модератор
Эксперт MS Access
9834 / 3874 / 624
Регистрация: 07.08.2010
Сообщений: 10,977
Записей в блоге: 2
07.01.2015, 20:48 19
Здесь у вас двойных немного

заголовок 2

193 2 DJ Streamer 1.3.5
194 3 aTunes 3.1.2
218 4 Extensoft Artisteer 4.3.0.60745
219 5 CSE HTML Validator Lite 14.05
224 6 YogaBum 1.6
225 7 RadioLogger 2.5.0.1

Добавлено через 2 минуты
показать двойные и оставить остальные несложно, но видимо вам нужна и сортировка
--или в пределах заголовка
--или всего
0
109 / 4 / 2
Регистрация: 27.10.2013
Сообщений: 270
07.01.2015, 20:51  [ТС] 20
shanemac51, Я знаю что не много.
Я дал 2 списка, и их больше 20. Т.е будет больше.
возможно что в других списках, будет повторений больше

Добавлено через 1 минуту
Т.е каждый список выделяем цветом, сортируем по названию, сразу находим дубли, удаляем ручками. Снова сортируем по цвету и готово?
Т.е все получиться, но будет очень долго.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2015, 20:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Удалить все гиперссылки
Принял в работу файл. А в нём - конь не только валялся.... А разгребать эти авгиевы завалы мне....

Удалить все строки после заданной где есть пустое поле
Здравствуйте! У меня есть функция, которая при нажатии на кнопку создает строку в таблице и еще...

Как удалить из строки все символы, кроме чисел?
Как удалить из строки все символы, кроме чисел? Заведомо благодарен!

Notepad++ Как удалить все кроме нужного текста
Есть определенный текст в каждой строке: .....-.....-..... Каждая строка выглядит примерно так:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.