0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
1

Как переделать макрос так, что бы после слияния Word создавал PDF и сохранял в PDF каждый раздел отдельно?

27.10.2014, 21:12. Показов 10471. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер всем!
Помогите переделать макрос что бы после слияние, word создавал PDF и сохранял в PDF по отдельности.
Данный макрос создает в word и сохраняет по отдельности в word
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Split_document()
    Dim srcdoc As Document, newdoc As Document
    Dim i As Integer
    
    Set srcdoc = ActiveDocument
    For i = 1 To srcdoc.Sections.Count - 1
        srcdoc.Sections(i).Range.Copy
        Set newdoc = Document.Add
        newdoc.Range.Paste
        newdoc.Sections(2).PageSetup.SectionStart = wdSectionContinuous
        newdoc.SaveAs srcdoc.Path & "\" & Left(srcdoc.Name, Len(srcdoc.Name) - 4) & _
            "_" & Format(i, "000") & ".docx"
        newdoc.Close
    Next
End Sub

Всем спасибо!
0
27.10.2014, 21:12
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2014, 21:12
Ответы с готовыми решениями:

Нужна java-программа для чтения электронных книг в формате PDF. Или как можно переделать PDF книгу в вордовский файл?
Нужна java- программа для чтения электронных книг в формате PDF. Нужна очень срочно прошу помощи завтра экзамен просто нада успеть. Или...

Не открываются файлы Word, Excel & pdf после вируса
Всем, привет! Помогите, пожалуйста!!!!! Ситуация такая: на рабочую почту пришло письмо с какой-то картинкой, сама я его не видела (не для...

Как создать PDF файл с именем ZAKAZ_(дата сегодня).pdf
Как создать из "Excel таблицы" - PDF файл с именем ZAKAZ_(дата сегодня).pdf при помощи макроса? Есть такой макрос: Sub...

21
Наблюдатель
 Аватар для Alex Dark
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.10.2014, 21:56 2
Если хотите сами разобраться - Запустите запись макроса и сохраните документ в PDF
Остановите макрос.
Получите нужную команду.

Если вы хотите что бы это сделал за вас я - то мне так же ломово это делать как и вам разбираться
1
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
27.10.2014, 22:05  [ТС] 3
Я пробовал редактором записать, но он не сохраняет по отдельности к сожалению.
0
Наблюдатель
 Аватар для Alex Dark
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
28.10.2014, 04:49 4
Ну так, а руки и голова вам на что?
"Запись макроса" тупо пишет последовательность выполненных действий, при чём не всегда правильно.
Ваша задача всего лишь правильно подправить параметры полученных команд и на VB реализовать алгоритм действий которые вы выполняете при помощи мыши и клавиатуры.
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 07:03  [ТС] 5
Если бы я знал что и куда добавить или подредактировать то не спрашивал бы на форуме....
Думаю форум для этого и создан был.
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 11:43 6
как вам и советовали посмотрите код на выходе макрорекордера и в дополнении почитайте про метод ExportAsFixedFormat
Цитата Сообщение от Baaur Посмотреть сообщение
Думаю форум для этого и создан был.
IMHO а форум создан для конкретных вопросов! от вас же ни строчки кода
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 11:51 7
вам даже влом "покурить" похожие темы которые можно увидеть внизу данной темы
Миниатюры
Как переделать макрос так, что бы после слияния Word создавал PDF и сохранял в PDF каждый раздел отдельно?  
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 12:05  [ТС] 8
Я их смотрел, ни одна из тем не подходит. Но все же спасибо.
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 12:22 9
ну а что вам макрорекордер то хоть выдает пытались анализировать ?
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 12:33  [ТС] 10
Да он мне выдал
Visual Basic
1
2
3
4
5
6
7
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "C:\Users\*******\Desktop\1.pdf", ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
        wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
        wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
        True, UseISO19005_1:=False
Я думал что маркос должен добавлять PDF и сохранять его отдельно, тоесть как
Visual Basic
1
= CreateObject("AcroExch.PDDoc")
вместо
Visual Basic
1
Set newdoc = Document.Add
но все равно не работает
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 12:46 11
Цитата Сообщение от Baaur Посмотреть сообщение
Я думал что маркос должен добавлять PDF и сохранять его отдельно, тоесть как Код Visual Basic1
= CreateObject("AcroExch.PDDoc")
это если будете работать непосредственно с Adobe Acrobat Pro.
чем принципиально отличается метод SaveAs от ExportAsFixedFormat объекта newdoc?
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 13:02  [ТС] 12
Честно признаюсь не знаю
Но предполагаю то что ExportAsFixedFormat - сохраняет док в заданном формате,
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 13:25 13
правильно мыслишь
заданных форматов у метода два: PDF и XPS
в нашем случае это фиксированный формат PDF, что нам мешает экспортировать объект newdoc в PDF ?
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 14:56  [ТС] 14
Пока не дошло что мешает....

Добавлено через 12 минут
Можно еще подсказку...
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 15:13 15
у метода 2 основных параметра.
путь куда сохранять выходной файл OutputFileName и его формат выходного файла. Остальные можно игнорировать.
В нашем случае ExportFormat:=wdExportFormatPDF
в итоге надо только подсунуть в параметр OutputFileName.

Добавлено через 1 минуту
код в стартовом сообщении ты как-то написал же !

Добавлено через 13 минут

Не по теме:

можно даже звонок другу и помощь зала

0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 15:46  [ТС] 16
Visual Basic
1
2
3
4
5
6
Dim srcdoc As Document
Set srcdoc = ActiveDocument
 
    srcdoc.ExportAsFixedFormat OutputFileName:= _
        srcdoc.Path & "\" & Left(srcdoc.Name, Len(srcdoc.Name) - 4) & _
            "_" & Format(i, "000") & ".pdf", ExportFormat:=wdExportFormatPDF
данный макрос сохраняет, но не получится сохранить по отдельности, если вставляю сстроку
Visual Basic
1
For i = 1 To srcdoc.Sections.Count - 1
то он перестает работать

Добавлено через 43 секунды
в 3-ю строку
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 16:13 17
Лучший ответ Сообщение было отмечено Baaur как решение

Решение

Цитата Сообщение от Surrogate Посмотреть сообщение
чем принципиально отличается метод SaveAs от ExportAsFixedFormat объекта newdoc?
я именно этот объект имел в виду, а не srcdoc

Добавлено через 4 минуты
проглядел еще ошибку Set newdoc = Documents.Add
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 18:33  [ТС] 18
Цитата Сообщение от Surrogate Посмотреть сообщение
Set newdoc = Documents.Add
вот вместо пытался написать
Set newdoc.ExportAsFixedFormat OutputFileName:="C:\Users\*******\Desktop\1.pdf", ExportFormat:=wdExportFormatPDF
тоже не получилось

Добавлено через 8 минут
Цитата Сообщение от Surrogate Посмотреть сообщение
чем принципиально отличается метод SaveAs от ExportAsFixedFormat объекта newdoc?
Нашел
SaveAs - Сохраняет указанный документ с новым именем или форматом
ExportAsFixedFormat - сохраняет документ в формате PDF или XPS
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
28.10.2014, 18:36 19
Цитата Сообщение от Baaur Посмотреть сообщение
Set newdoc.ExportAsFixedFormat OutputFileName:="C:\Users\*******\Desktop\1.pdf", ExportFormat:=wdExportFormatPDF
если убрать Set то все получится

Добавлено через 1 минуту
только наверно имена документов в pdf надо будет по аналогии с тем как ты в SaveAs делал. чтоб каждому разделу свое присваивать свое имя
0
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 24
28.10.2014, 18:51  [ТС] 20
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Split_document1()
    Dim srcdoc As Document, newdoc As Document
    Dim i As Integer
    
    Set srcdoc = ActiveDocument
    For i = 1 To srcdoc.Sections.Count - 1
        srcdoc.Sections(i).Range.Copy
        newdoc.ExportAsFixedFormat OutputFileName:=srcdoc.Path & "\" & Left(srcdoc.Name, Len(srcdoc.Name) - 4) & "_" & Format(i, "000") & ".pdf", ExportFormat:=wdExportFormatPDF
        newdoc.Range.Paste
        newdoc.Sections(2).PageSetup.SectionStart = wdSectionContinuous
        
        newdoc.Close
    Next
End Sub
все равно выдает ошибку и просит Set поставить

Добавлено через 2 минуты
а после проставление Set ошибок еще больше появляются
0
28.10.2014, 18:51
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2014, 18:51
Помогаю со студенческими работами здесь

Как соединить несколько PDF файлов в один документ PDF?
имею распечатку книжки в 45 pdf файлах. как-то неудобно просматривать её. как их все объединить в один pdf файл? Может спец софт необходим?

Как организовать работу PDF, чтоб он искал в PDF файле определенную строку
Имеется код (Он всего лишь создает файл и текст, который указывается в форме) using System; using System.IO; using...

Как разбить 1-ин pdf документ на множество pdf файлов в соответствии с регулярным выражением ?
Есть документ представляющий собой сборник статей тезисов (c рисунками) в двух формате pdf, задача получить из многостраничного документа...

Как разместить PDF файлы в PDF файле
Есть PDF документ с одной страницей размера 700х500мм, и несколько PDF файлов. Нужно разместить PDF файлы на странице первого PDF файла с...

Как преобразовать pdf в word?
Народ срочно помогите как можно преобразовать pdf в word


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Создаем SPA Router на чистом JavaScript
bytestream 17.02.2025
В современной веб-разработке одностраничные приложения (SPA) стали стандартом для создания динамичных и отзывчивых пользовательских интерфейсов. Ключевым компонентом любого SPA является роутер -. . .
Машинное обучение на TypeScript и TensorFlow
bytestream 17.02.2025
Машинное обучение становится все более востребованным направлением в современной разработке программного обеспечения. Интеграция искусственного интеллекта в веб-приложения открывает новые возможности. . .
Манипуляция данными EXIF и JPEG в JavaScript
bytestream 17.02.2025
В современном мире цифровой фотографии метаданные изображений играют важнейшую роль в организации и управлении медиаконтентом. Формат EXIF (Exchangeable Image File Format) - это стандарт,. . .
Как создать GUID/UUID в JavaScript
bytestream 17.02.2025
GUID (Globally Unique Identifier) и UUID (Universally Unique Identifier) - это специальные форматы 128-битных идентификаторов, которые практически гарантируют уникальность значения во времени и. . .
Что такое мышление в упрощенном смысле (моё субъективное видение, для создания модели).
Hrethgir 17.02.2025
Разумеется упрощать смысл есть. Дело в том, что я пришёл к тому выводу, что даже если я создам свой процессор (конвейер), то первое для чего смогу его использовать в качестве демонстративного. . .
Как Node.js устроен изнутри
Wired 17.02.2025
Node. js коренным образом изменил подход к веб-разработке, позволив использовать JavaScript не только в браузере, но и на стороне сервера. Созданный в 2009 году Райаном Далем, Node. js представляет. . .
Как обновить Node.js в Windows
Wired 17.02.2025
Думаю, многие разработчики сталкивались с ситуацией, когда устаревшая версия Node. js становилась источником проблем - от несовместимости с новыми пакетами до уязвимостей в безопасности. Особенно это. . .
Как обновить Node.js в MacOS
Wired 17.02.2025
В Node. js существует несколько подходов к обновлению, каждый из которых имеет свои преимущества и особенности применения. Выбор конкретного метода зависит от ваших потребностей - будь то. . .
Как обновить Node.js в Linux
Wired 17.02.2025
Обновление Node. js может показаться сложной задачей, особенно если у вас несколько проектов с разными зависимостями. Однако существует несколько надежных способов обновления, подходящих для разных. . .
[golang] 134. Gas Station
alhaos 17.02.2025
Тут нам даны два целочисленных слайса gas и cost, индексы массива представляют собой заправочные станции. а элементы gas это количество топлива на такой станции, cost это количество топлива. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru