|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Добрый день! Мне нужно сохранить каждую страницу файла Word в отдельный файл. И вроде бы все работает, да только форматирование в сохраненных файлах сбивается. Можно ли что-то подправить в макросе, чтобы форматирование осталось? Заранее спасибо. Вот макрос. Код: vbnet 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. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2017, 16:58 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
sergant138, Попробуйте заменить Код: vbnet 1.
на Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2017, 18:52 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Спасибо, попробовал, но все равно текст съезжает. Перепробовал все параметры PasteAndFormat. Более того если руками копировать и вставлять в тот же самый документ - тоже сбивается форматирование. Может документ такой. Формат rtf. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 09:00 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Не удалось усилием мысли скачать ваш файл. Дайте уже образец. Вероятно, проблема со стилями. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 09:49 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Прикрепил файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 18:41 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Я не заметил, чтобы при копировании сбивалось форматирование, все отформатировано как надо. Весть текст строго на месте, все оформление сохранилось. Но объекты рисования (линии) - да сбились, не там и не все. Видимо из-за привязки к абзацам, которые в свою очередь находятся в текстовых блоках. Мне помогло в вашем документе следующее - я перетащил якорь привязки каждой линии к самому первому абзацу (в верхний левый угол листа). Этот абзац (в отличие от почти всех остальных) не находится сам в текстовом блоке, поэтому привязки переносятся нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 19:13 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
sergant138Shocker.Pro, Прикрепил файл. http://www.sql.ru/forum/actualfile.aspx?id=20757029] Приложенный файл (Spisok.rtf - 121Kb) предпочитаю подобные бланки делать таблицами ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 20:27 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Спасибо. Для автоматического решения данного вопроса сделал следующее. Одним макросом беру оригинальный файл, выделяю все и удаляю. Пустой файл сохраняю как шаблон. Далее снова вторым макросом оригинальный файл копируется постранично и вставляется в шаблон. При это все форматирование сохраняется, в том числе все линии - то что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2017, 09:43 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, А вот еще странная ситуация. Другой файл, практически такой же, но на нем макрос не отрабатывает. Вернее все проходит без ошибок, но файлы получаются пустыми. В чем тут может быть дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 14:40 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
sergant138практически такой жеЧем же он "такой же"? В новом файле текст расположен в надписях, а в старом - во фреймах (ну или как они там называются). Откройте два файла рядом, выделите контейнер с тектсом - увидите отличие даже в меню ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 15:01 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Да, действительно это так, спасибо. А как же теперь править макрос, что теперь выделять и вставлять и какими методами. С такими случаями еще не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 15:55 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Надо экспериментировать. Навскидку - сейчас привязка всех надписей к первому абзацу и он же - разрыв страницы. Возможно, ваш алгоритм не захватывает этот абзац при выделении и потому - не копирует. Надо попробовать, к примеру, взять на один символ раньше и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 16:07 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.ProНадо экспериментировать. Навскидку - сейчас привязка всех надписей к первому абзацу и он же - разрыв страницы. Возможно, ваш алгоритм не захватывает этот абзац при выделении и потому - не копирует. Надо попробовать, к примеру, взять на один символ раньше и т.п.может эта же причина не копировала линии в первом случае и решатся сразу обе проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 16:09 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Понял как выделять . Изменил код. Копирует нормально, но все-таки проблемы есть. То скопируется только первая страница, то все кроме последней. Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:51 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
sergant138То скопируется только первая страница, то все кроме последней.это на одном файле по-разному срабатывает или на разных? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 12:05 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, На одном . Но в основном не создается только последняя страница. То есть не выделяется. Все остальные в норме. Вот окончательный, но до конца не работающий код. Код: vbnet 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.
Модератор: Учимся использовать тэги оформления кода - FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 15:48 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Если с одним и тем же неизменным документом проблема, то она может быть связана с Active . В вашем коде есть docMultiple, так его и надо использовать вместо ActiveDocument, либо вообще пользоваться ThisDocument ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 16:07 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Pro, Попробовал подставить ActiveDocument, но там все тоже самое. Вот какой код получился: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Также прикрепляю образец файла, там же макрос. Может что-то в моем компьютере. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:30 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
Shocker.Proиспользовать вместо ActiveDocumentsergant138Попробовал подставить ActiveDocument ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:40 |
|
VBA.Word. Постраничное сохранение в отдельный файл.
|
|||
---|---|---|---|
#18+
По всей видимости, эта строка Код: vbnet 1.
не может выполниться для последней страницы - просто некуда идти. Пожалуй, для последней страницы (iCurrentPage = iPageCount) нужно сделать отдельный If и выделять Range до конца документа ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 10:49 |
|
|
start [/forum/topic.php?fid=61&tid=2172579]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 458ms |
0 / 0 |