Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Уважаемые знатоки. Нашел на форуме макрос, который выполняет первую часть моей задачи. Т.е. выделяет фрагмент «от и до» ключевого слова. Но мне необходимо нарезать текст по параграфам и вставить в файлы word под именами 01.doc (для Параграфов1), 02.doc (для Параграфов2) и т.д. Слово «Параграф…» вырезается с принадлежащим ему текстом. Параграф1 Текст текст текст… текст. Текст Параграф2 Текст текст текст…. Текст текст Параграф3 Текст текст текст…. текст текст …….. Параграф10 Текст текст текст текст…. текст Этот макрос выделяет фрагменты Sub FindWords( _ ByRef strWord1 As String, _ ByRef strWord2 As String) Dim rng As Range Static rngTemp As Range Set rng = ActiveDocument.Content With rng.Find .ClearFormatting .Text = strWord1 .Forward = True .Wrap = wdFindContinue .MatchWholeWord = True .MatchCase = False .Execute If .Found = True Then If rngTemp Is Nothing Then Set rngTemp = rng FindWords strWord2, strWord1 Else rng.SetRange rngTemp.Start, rng. Start rng.Select Set rngTemp = Nothing End If End If End With End Sub ______________________________________ Sub Параграф1() FindWords " Параграф1", " Параграф2" End Sub ________________________________________ Sub Параграф2() FindWords " Параграф2", " Параграф3" End Sub И т.д. При этом я даже не смог придумать как выделить последний 10-й параграф Sub Параграф10() FindWords " Параграф10", "?????????????????" End Sub – не знаю каким символом указать на конец публикации. Буду очень признателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2010, 23:18 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Ох, блин, опять... ===================== Уважаемые знатоки. Нашел на форуме макрос, который выполняет первую часть моей задачи. Т.е. выделяет фрагмент «от и до» ключевого слова. Но мне необходимо нарезать текст по параграфам и вставить в файлы word под именами 01.doc (для Параграфов1), 02.doc (для Параграфов2) и т.д. Слово «Параграф…» вырезается с принадлежащим ему текстом. Параграф1 Текст текст текст… текст. Текст Параграф2 Текст текст текст…. Текст текст Параграф3 Текст текст текст…. текст текст …….. Параграф10 Текст текст текст текст…. текст Этот макрос выделяет фрагменты Код: plaintext 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. 29. 30. 31. 32. 33. 34. При этом я даже не смог придумать как выделить последний 10-й параграф Код: plaintext 1. 2. Буду очень признателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 00:26 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
А как выглядит документ? Может быть тупо просто перебрать все параграфы и рассовать парами в разные файлы? Или там есть что-то ненужное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 00:29 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
...просто есть устойчивое ощущение, что проще будет решить другим способом, а не тем, какой вы хотите использовать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 00:31 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Файлов с такими "параграфами" больше десятка в день, меняются два-три раза в неделю. На ручняке никак низзззя. Лет 10 назад делал подобный сценарий для PageMakera (у него свой язык скриптинга), но перекидывать из ворда в РМ, а потом обратно - то ж не в радость... К приведенному выше скрипту надо прикрутить "вырезать" - "открыть *.doc" - "вклеить". Файлы для обработки открываю пачкой - последовательно обрабатываю первым макросом "Параграф1". За тем следующий макрос "Параграф2"... Но есть какая то закавыка - на двух форумах молчек.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 01:15 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
kapitelНа ручняке никак низзззя Я этого не предлагал! Я говорю, что способ возможно выбран неоптимальный. В частности, .Select вам скорее всего не нужен. Просто выложите пример файла, на котором, в конце-концов, попробовать можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 01:22 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Хочу уточнить, что я правильно понял - есть кучка файлов 01.doc, 02.doc и т.п. И в них дописываются абзацы из очередного обрабатываемого документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 01:27 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
"Текст" я показал в самом начале, можно раширить: Параграф1 Текст текст текст… текст. Текст Параграф2 Текст текст текст…. Текст текст Параграф3 Текст текст текст…. текст текст Параграф3 Параграф3 Параграф10 Текст текст текст текст…. текст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 01:56 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
"Текст" я показал в самом начале, можно раширить: Параграф1 Текст текст текст… текст. Текст Параграф2 Текст текст текст…. Текст текст Параграф3 Текст текст текст…. текст текст Параграф4 Как ныне сбирается вещий Олег Отмстить неразумным хозарам, Параграф5 Их селы и нивы за буйный набег Обрек он мечам и пожарам; Параграф6 С дружиной своей, в цареградской броне, Князь по полю едет на верном коне. ....... Параграф10 Текст текст текст текст…. текст Соответственно для "Параграфа1" - имеющийся 01.doc, для "Параграфа2" - 02.doc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:02 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
kapitel"Текст" я показал в самом начале Да, но на нем не видна разбивка по абзацам. То есть текст "ПараграфN" является отдельным абзацем? Далее, означает ли фрагмент: Параграф3 Текст текст текст…. текст текст Параграф3 Параграф3 то, что в файл 03.doc должно быть дописано четыре указанных парагафа? или только два первых? В целом, предлагаю такой алгоритм - перебрать всю коллекцию параграфов попарно. В каждом первом параграфе удаляе текст "Параграф" получить номер файла, открыть его при необходимости и туда записать текущий и следующий параграф. По достижении конца файла - закрыть все открытые к тому времени файлы. Еще вопрос с нумерацией файлов. Так я понимаю - до 9-го дописывается предшествующий ноль, далее не дописывается. А после 99 как именуются файлы? или есть ограничение - 10 - последний? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:11 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Если Вы запустите предложеный макрос вы увидите выделение. Именно это выделение необходимо вырезать и вставить в вордовский файл. Вкладываю ZIP с файлами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:23 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
!!! Слово "Параграф..." остается со "своим" текстом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:25 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Я бы вам набросал свое видение решения, но вы не ответили на массу заданных вопросов и не приложили оригинальный файл (в архиве только результирующие). Надеюсь, до утра вы сможете перечитать ветку и все-таки ответить на все вопросы, если ответите, утром попытаюсь набросать решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:33 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Да, действительно, под одинаковым грифом "Параграф..." могут находится разные тексты и они должны попасть в соответствующий док. Потом эти "параграфы" будут дополнительно обрабатываться, но это не входит в задачу данного макроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 02:55 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Странный вы человек. Просите помочь, а на вопросы не отвечаете, потом еще удивляетесь, что вам не помогают. Вот вам код, который делает примерно то, что вы хотите. Раз не даете уточнений, доводите сами то нужного вам состояния. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 12:20 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Странный вы человек. Просите помочь, а на вопросы не отвечаете, потом еще удивляетесь, что вам не помогают.У меня создалось стойкое ощущение, что довольно многочисленная аудитория участников различных форумов, просто органически не переносит давать ответы на встречные вопросы. Наверное потому, что настроена только на получение ответов... (?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 12:45 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Поправлюсь: ... довольно многочисленная часть аудитории... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 12:48 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
vlth, по моим наблюдениям и опыту работы (не только на форумах), есть большой пласт людей, которые не видят вопросы, если они даются сплошным списком. Как правило, ответ дается только на последний вопрос из списка и, даже когда просишь ответить на остальные, возникает искреннее непонимание того, чего я от них хочу. То есть такие люди неспособны мысленно разбить абзац на части и вынести из него несколько мыслей, какая-то внутренняя установка: 1 абзац (1 пост) = 1 мысль. Иногда помогает способ - разбить вопросы на разные абзацы, пронумеровать их и заставить контрагента ответить по пунктам , но, что самое интересное, это не всегда помогает. Мне кажется, это можно простить гуманитарию, отнестись с пониманием и подстроиться под него, но программисту это непростительно. Был у меня один программер в подчинении, вроде и знание и опыт, но - пишешь ему ТЗ, если в абзаце две мысли, он одну из них не замечает. Даже когда тыкаешь носом в ТЗ и говоришь - ТЗ сделано не полностью, все равно не замечает... так и расстались. Впрочем, не будем гадить в топике философией, может все-таки будет продолжение разработки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 12:59 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
vlth, по моим наблюдениям... ... Впрочем, не будем гадить в топике философией, может все-таки будет продолжение разработки...Shocker.Pro, полностью согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 13:48 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
Shocker.Provlth, по моим наблюдениям и опыту работы (не только на форумах), есть большой пласт людей, которые не видят вопросы, Согласен. Я и просил дописать рабочий макрос, без усложнений... Спасибо большое всем. Благодаря вам разобрался и закончил макрос так: Application.Run MacroName:="Параграф1" Selection.Cut Documents.Open FileName:="01.DOC" Selection.PasteAndFormat (wdPasteDefault) Application.Run MacroName:="Параграф2" Selection.Cut Documents.Open FileName:="02.DOC" Selection.PasteAndFormat (wdPasteDefault) и т.д. Все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 16:23 |
|
||
|
Помогите дописать макрос
|
|||
|---|---|---|---|
|
#18+
kapitelБлагодаря вам разобрался и закончил макрос так: Все же не благодаря, а вопреки. Ибо ну по хорошему вместо Код: plaintext Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2010, 18:10 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2159855]: |
0ms |
get settings: |
14ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
45ms |
get first new msg: |
77ms |
get forum data: |
3ms |
get page messages: |
128ms |
get tp. blocked users: |
2ms |
| others: | 27ms |
| total: | 482ms |

| 0 / 0 |
