IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд

Word vba pdf

Word VBA Saves Pages as Separate PDFs

The VBA Tutorials Blog

Introduction — Save Pages as Separate PDFs

Save each page in your MS Word document as a separate PDF with this VBA macro. The flexible VBA script let’s you save each page or a subset range of pages as PDFs in a user-specified directory. Complete with robust error-checking.

Example — Save Pages as Separate PDFs

Save As Separate PDFs

Make powerful macros with our free VBA Developer Kit

Tutorials like this can be complicated. That’s why we created our free VBA Developer Kit to supplement this tutorial. Grab it below and you’ll be writing macros so much faster than you are right now.

Tutorial — Save Pages as Separate PDFs

This example is pretty plug-and-play. You won’t have to do much, if any, tweaking. However, there are a few places you may want to customize.

To get started, all you have to do is paste SaveAsSeparatePDFs into “ThisDocument” under the “Normal” Microsoft Word Objects Project of your VBA Editor. Alt+F11 opens the Editor.

Paste VBA Code Example Here

Pasting the VBA code example here allows you to save your MS Word document with its native *.doc or *.docx file extension, i.e., you won’t have to save it as a macro-enabled document. A second perk is that it makes the macro accessible across all Word documents.

Like most programs, the bulk of SaveAsSeparatePDFs is error-checking. The meat and potatoes can be accomplished with a handful of lines. I included the rest to make your implementation painless. For example, the program confirms your designated directory is an actual directory and your page numbers are actually numeric. I’m not a big fan of the word “actually” so I’m actually going to stop using it for the remainder of this post. Ehh, too much?

Okay, here’s what you need to know. The VBA code issues 3 prompts:

1. Enter the directory where you want to save your PDFs.

2. Enter the page number in your Word document where you want to begin saving individual pages as PDFs.

3. Enter the page number in your Word document where you want to stop saving individual pages as PDFs.

Submitting a blank string at any of the prompts will abort the script. Hey, it’s easier than reaching for your mouse and pressing Cancel.

SaveAsSeparatePDFs will save each page in your page range with file names following the naming convention Page_x.pdf , where is x is the page number in your Word document.

For you non-believers, I submit evidence showing the PDFs in the destination folder:

If you don’t like the default naming convention, search for «Page_» in the VBA code example and change it to something more fitting. If you decide to change it, it’s important that you keep the at the beginning of your string.

Remember the error checks we discussed earlier? On the warning prompt for an invalid page number, I included a handy feature:

Total page count of your Word document

See it? The total page count of your current Microsoft Word document is presented in the parentheses. This helps you in case you want to save every page in your file. Some of you may wish to put this on your actual Page prompts. To do that, paste ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) into your desired InputBox code.

Application Ideas — Save Pages as Separate PDFs

My coworkers and I produce a lot of design calculations in our nuclear engineering jobs. The body of the design calculations are prepared in MS Word but the attachments are assembled from many different files in many different file formats. The body and all the attachments must be compiled into a single PDF. This script lets us make cover pages for each attachment and save them as separate PDFs for final compilation of the master design calculation.

I’m spitballing here, but other potential uses include:

  1. Extracting individual PDF forms from a Master Word Document.
  2. Emailing separate PDFs to different recipients based on the content of page.
  3. Pulling monthly reports from a yearly summary Word document.

That’s all for this tutorial. When you’re ready to take your VBA to the next level, subscribe using the form below.

Oh, and if you have a question, post it in our VBA Q&A community.

The best free VBA training on the web
I see people struggling with Excel every day and I want to help. That’s why I’m giving away my 90-days to Master VBA eCourse and my entire personal macro library for free.

Over 2 million people use our VBA tutorials each year to help automate their work. Are you ready to reclaim your time, too? Grab our VBA Cheat Sheets and you’ll be writing macros like a professional. With over 180 tips and 135 macro examples, they include everything you need to know to become a great VBA programmer.

Word VBA Macro > Create DOC to PDF & Email

A while back, I had a request to automate the way users can create a PDF file from MS Word, and attach it to an email – essentially create a Word to PDF macro, with automatic email creation. Currently their entire process would be:

  • Save to PDF (File > Save As > .PDF / File > Print > Adobe PDF)
  • Choose target folder & save
  • Rename newly created PDF (as it creates with the source Word document’s name)
  • Attach to Outlook & send
  • Delete the PDF from disk

Also, part of the problem was the way that Outlook locks up when the ‘Send to Email’ function is initiated from Word, so you need to save your new message as a draft in order to switch back to the main Outlook view & find a recipient’s email address, for example. I was looking for ways around this & came up with the below VBA code with the help of a colleague, saved inside each user’s normal.dotm file thereby applying to every document they create from our CRM.

The macro was added to their quick launch toolbar in Word 2010 (with a user-friendly envelope icon) via login scripts replacing their normal.dotm, allowing them a one-click option to initiate the code & be presented with the filename prompt. I used H: as the target location because every user has the home drive by default, and some users would be using this within Citrix without permission to the system C:

The process is now as follows:

1: User completes their Word document & hits the shortcut to run the EmailPDF macro:

Word 2010 Macro Button

2: Macro executes & prompts for the filename to use:

Filename Prompt for Word PDF Macro

3: Attachment is added with correct name to blank email:

Outlook Message With PDF Attachment

Читать еще:  Как сделать группу в excel

Full code is below, this can obviously be cleaned up a little & offer friendlier error messages, but this wasn’t a priority for me – if the user cancels the process halfway through & gets a generic error message, then so be it.

You will also need to add a reference in Word to the Microsoft Outlook 14.0 Object Library to get this to work. If you find this useful, please leave me a comment because I would love to know. Any suggestions to improve the below would also be welcomed.

Should you wish to do the same function in Excel, please see this post.

Share this:


Post navigation

Leave a Reply Cancel reply

I did a search and found your example, which is very good but I have to change a bit to suit my situation.. I use late binding method and also I keep the PDF for archiving reasons and use a common inbox (sent from) for my users..

Dim appOutLook As Object ‘ We use late binding method as we don’t know the version of MS Word they are using but it has to be 2007 or greater.
Dim MailOutLook As Object
Dim MyFileName As String

MyFileName = ActiveDocument.Name ‘ Document name will be the same as the active document
MyFileName = Left([MyFileName], InStr(1, [MyFileName], “.”) – 1) & “.pdf” ‘ Document name doesn’t like dots (.) so they will be taken out if found

On Error Resume Next

ActiveDocument.Save ‘ save the active doc before PDF

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
ActiveDocument.Path & “” & MyFileName, ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False ‘ Word Commands to PDF and save the doc

Set appOutLook = GetObject(, “Outlook.Application”)
If Err.Number 0 Then
Set appOutLook = CreateObject(“Outlook.Application”)
Set MailOutLook = appOutLook.CreateItem(0)
If Err.Number 0 Then
MsgBox “Cannot get Outlook”
Exit Sub
End If
End If

Set MailOutLook = appOutLook.CreateItem(0) ‘ Start Outlook and open a new email

With MailOutLook
.SentOnBehalfOfName = “support@mybusiness.com.au”
.To = “”
.Subject = MyFileName
.Body = “”
.Attachments.Add ActiveDocument.Path & “” & MyFileName, olByValue, 1, MyFileName
.Display ‘ Show new Outlook email window
End With

‘ Kill ActiveDocument.Path & “” & MyFileName ‘ Deletes the PDF, in this case we want a copy to be saved in the archive folder

Set MailOutLook = Nothing
Set appOutLook = Nothing

Thank you for your sample… by the way this bit did not work for me

Dim fs strData = InputBox(“Please Enter Filename”)
strData = “h:” & strData & “.pdf”

Thank you for taking the time to post Jorge, I’m glad the code was helpful to you & appreciate your feedback

Hi Nick,
I have been trying to find how to do this for awhile. I have some very basic computer users who i require to attach a document in pdf version to an email and send so making it one step is going to make my life much easier. I have two questions though
1. how do i add a reference to Microsoft outlook 14.0
2. Can i create a way to pull an email address from within the word doc and that automatically populates my Send to:

Many thanks for the help and thank goodness there are other lazy people out there who want one button to do it all for them!!

Laziness is a fantastic motivator…

If you add names to the ‘Requested By’ or ‘Approved By’ fields on the ‘Users’ tab & they match names in your Global Address List or contacts, it will match these when the outlook message is generated & sent – Alternatively you could list entire email addresses in here & have them added that way.

Hope this info helps

Nick, thank you for your response. Might i push the friendship one more time. What do i need to do if it was an excel document i was wanting to pdf then automatically attach to an email?

I’m really sorry, it would seem I’ve gotten muddled thinking you were replying to this other post, hence my comments about adding email addresses to worksheets:

I’ve edited the code from that post down to be basically the same function as this post using Excel. The ‘CCAddress’ parts are commented out, I’ve left them in there to show you how you can use the value of a cell to drive the variables.

Edit – Removed the code into it’s own post & tidied it up a little – Please see here http://stott.asia/excel-vba-macro-create-xls-to-pdf-email/

Hello. I was looking for code that would allow users to (1) convert all the open documents to PDF and (2) attach them to an email. Your code gives me some ideas; thank you.

You can add an icon to the Quick Access Toolbar that will send the current document to Outlook.

1. From Word 2010, click File, Options, Quick Access Toolbar,
2. Under “Choose commands from,” click the drop down and select
“All Commands.”
3. Scroll the list and select “E-mail as PDF Attachment.”
4. Click the Add button (in the middle of the screen).
5. Click OK.

Click the button to send the current document to Outlook. If Outlook is not running, it will start, open a new email message and attach the document with its current name.

There is another icon in the same command list that will attach the current document to an email; the icon exists in Excel and PowerPoint.

Could someone can help me with a macro like this but mi situation is that I have several pages in one document and I need to create independent files from each page and name the file like the first row of every page

Is that possible?

Thanks and Regards

I’m having issues saving the files to my c drive? It says it’s read only. Is there an easy way around this?

I did get it to save once when creating a read only file in C. For example If I change the strData to “c:Users” or something like that, if it does work it added everything after the “” as part of the file name which is not ideal.

I’ve only used C: as an example here, in our environment we actually use H: (user’s roaming network share), but you can substitute any file / path to the code.

Your Operating System is protecting the root of C:, so you’ll need to pick somewhere else where the file can write out to… I’d suggest using %appdata%Temp or something similar, where there will be no permissions issues & it will work for any logged on user.

Best regards,

I keep getting an error on line: 05 Dim fs strData = InputBox(“Please Enter Filename”) – Syntax Error
Can you help me get through this error?

Макрос создания документов Word по данным таблицы Excel

Макрос предназначен для программного создания документов Word на основе шаблона

Читать еще:  C word замена текста

(без использования функции слияния в Word)

В прикреплённом к статье архиве находятся 2 файла:

  • шаблон договора в формате Microsoft Word (расширение .dot)
  • файл Excel с макросом

Настройки макроса задаются в коде:

Const ИмяФайлаШаблона = «шаблон.dot»
Const КоличествоОбрабатываемыхСтолбцов = 8
Const РасширениеСоздаваемыхФайлов = «.doc»

При нажатии кнопки запуска макрос на основе шаблона dot создаёт очередной файл, и в этом документе производит замену текста («кода поля») из первой строки файла Excel на значение поля (из очередной строки с данными файла Excel)

Папка для сформированных документов создаётся автоматически, и содержит в имени текущую дату и время
(например, созданная папка будет называться Договоры, сформированные 01-05-2011 в 15-03-24)

Имена создаваемых файлов формируются объединением полей фамилия, имя и отчество, с добавлением расширения doc

PS: Макрос был написан достаточно давно, когда я только начинал изучать VBA, — так что код недостаточно универсален.

Но, в качестве примера, пожалуй, подойдёт (если вам нужен более функциональный макрос, воспользуйтесь универсальной надстройкой (см. ниже))

Ознакомьтесь также с универсальной надстройкой формирования документов по шаблонам,
которая может делать всё тоже самое, что и эта программа,
только в качестве шаблонов могут выступать, помимо документов Word, ещё текстовые файлы, и книги Excel.

В надстройке — много возможностей, и полезных дополнений: склонение ФИО в родительный и дательный падежи, автоматический вывод на печать (с заданным количеством копий), размещение созданных файлов в разных папках, создание и рассылка писем со вложениями, и множество других полезных функций.

По вышеприведённой ссылке программа заполнения документов Word из Excel доступна для бесплатного скачивания.

Внимание: просьбы о доработке макроса, описанного в этой статье, не принимаются.

Есть новая (универсальная) версия, — в которой уже есть практически всё, что может понадобиться.

  • 160284 просмотра


Спасибо, за макрос, не могли бы подсказать что в нем изменить что бы обрабатывалась только та строка в которой выделенная ячейка?

Спасибо за макрос. Очень помог в работе.

Этот макрос уже не поддерживается.
Используйте новую (расширенную) версию программы, — там все работает без ошибок.

Макрос выдает ошибку (Type mismatch (Error 13)) при обработке ячейки с формулой, подскажите пожалуйста как решить эту проблему?

Здравствуйте. Спасибо вам за этот макрос, который помог мне в работе.
Не могли бы вы еще подсказать как сделать чтоб в шаблон Word прописывались данные из нескольких (разных) строк Excel?
Заранее спасибо.

Подскажите. а можно сделать чтобы макрос обрабатывал только те строки в которых стоит номер договора, а если пусто пропускал?

Ознакомился с программой. Серьезный труд. Снимаю шляпу. Но мне понравился именно этот макрос. С колонтитулами я разобрался — оказалось ничего сложного, да и сам макрос оброс уже кучей доработок. Затянуло, знаете ли ))

Евгений, воспользуйтесь универсальной программой для заполнения документов Word — там реализована подстановка значений в колонтитулы

Добрый день! Макрос очень помог в работе. Доделал его немного под свои нужды: вывод в разные шаблоны документов word при разных значениях в excel. Остался один вопрос — в сам документ word текст вставляется отлично, а вот в колнтитулы — нет 🙁 Подскажите, пожалуйста, как это исправить?

Вова, если нет денег на заказ, есть только 2 варианта:
1) разобраться в этих макросах, и сделать самому (благо, примеров подобных макросов в интернете предостаточно)
2) обратиться за помощью на любой из форумов по Excel (но, опять же, если с вашей стороны никаких наработок нет, вряд ли кто сделает всю работу за вас)

А если в етом макросе сделать так чтоби он заменял дание сначла с строки активной ячейки а потом если одна из ячеек следующей строки = ячейке из предедущей строкии снова вставлял в ворд документ заменяемие поля и снова делел замену, и так до момента когда одна из ячеек не будеть раван ячеике из следуищей, строки тогад макрос по ектому условию не вставляет заменяемие поля а просто сохраняет ворд документ. То есь допустим мне нужно создать документ ворд по одному из людей дание по которому есть в нескольких строках. Пожалста помогите очень нужно, просто нет денег на заказ.

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

Подскажите пожалуйста, как сделать так, чтобы макрос формировал один документ ворд на основании данных из нескольких строк Excel?

А как реализовать те же возможности, только используя функцию слияния в Word. Чтобы каждый новый раз не формировался новый документ а запись делалась на новой странице?

Теперь доступна новая версия универсальной программы формирования документов по шаблонам.

Программа очень удобна для быстрого создания договоров и приказов, заполнения актов и инструкций, печати писем и соглашений, заполнения путевых листов и извещений, распечатки протоколов и соглашений, подстановки данных в шаблоны заявлений и доверенностей.

Количество файлов-шаблонов (Word, Excel, TXT) неограничено.

Бесплатно скачать и протестировать программу можно по этой ссылке:

Замечательно. Я, долгое время искал нечто подобное. Но к счасливой случайности вышел на Ваш сайт. Установил панели для VBA. И ещё коу-что. Практически разобрался в работе данного макроса. В VBA я, недавно. Но поставил перед собой задачу изучить его. Для этого я, решил составить программу для заполнения бланков аттестатов о среднем образовании и бланков дипломов об окончании ПТУ. До этого они заполнялись вручную. Задачу в Excel, я, программно решил, не безВашего в ней участия, некоторые фрагменты кода. У меня база заполняется посредством форм в виде развёрнутого аттестата. А, вот транспортировка данных в Word с листов — разворот и последняя страница. Как-то чуть-чуть не вяжется с общим видом программы. Нельзя-ли макрос транспортировки «засунуть» под форму? Если можно, то не смогли бы Вы посоветовать мне как это сделать. Делаю эту программу потому, что на Украине все мучаются с авторизованым заполнением бланков об окончании учебных заведений. А, так я бы мог бесплатно, это моё безусловное кредо, предоставить программу желающим. Заранее Вам благодарен. Помогая мне Вы помогаете и до того замордованым классным руководителям школ Украины.

можно ли по каждой записи сформировать 2 документа word?

Книги для изучения Excel и VBA

Содержание этой страницы полностью соответствует названию. Здесь я буду выкладывать книги для изучения Excel и VBA, различные справочники или ссылки на ресурсы, с которых подобные справочники и книги можно скачать. Выложенные пособия могут пригодиться не только начинающим изучать Excel и VBA, но и более продвинутым пользователям.

Справочник по функциям листа Excel — это справочник по функциям листа Excel в формате справки Windows .chm. Файл содержит полный перечень функций листа Excel на русском и английском языках и снабжена примерами использования и применения функций. Справочник может понадобиться как начинающим, так и уже более искушенным пользователям.

Формат файла: .chm

Справочник по функциям листа Excel (532,2 KiB, 15 676 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Читать еще:  Проверка орфографии word 2020

VBA Программирование в MSOffice — очень хороший учебник для начинающих программировать в VBA. Книга написана сертифицированным преподавателем Microsoft Office доступным для понимания языком, снабжена грамотными листингами кодов. Учебник поможет освоить программирование не только в Microsoft Excel, но и Microsoft Word и Microsoft Project.

Формат файла: .pdf

VBA Программироваие в MSOffice (4,1 MiB, 26 876 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Уокенбах Дж. Профессиональное программирование в VBA Excel 2003 — пожалуй самый популярный учебник для начинающих. Многие начинали именно с него. Правда, в печатной версии данного учебника использованы листинги кодов, которые не всегда нужно принимать на веру — очень часто там встречаются опечатки и вместо английских символом встречаются русские. Поэтому лично я бы посоветовал не копировать коды напрямую из книги, а переписывать их вручную в редакторе VBA. Так и запомнится лучше и избавите себя от поиска ошибок.

Формат файла: .pdf

Ссылка удалена по требованию правообладателя

Office 2007. Самоучитель — Если Вы решили поближе познакомиться с интерфейсом и основными возможностями приложений Microsoft Office, то советую почитать данную книгу. В ней описано все необходимое для успешной работы в таких приложениях как: Excel, Word, Outlook, Power Point, Access. После прочтения Вы сможете создавать красивые презентации и информативные графики, научитель создавать задачи в Outlook и базы в Access.

Формат файла: .pdf

Ссылка для скачивания: 2007_Samouchitel.zip
Пароль к архиву: 12345

Он-лайн видеообучение — Данная ссылка отличается от всех описанных выше тем, что это не книга — это он-лайн сервис. Бесплатный. На этом сайте просто огромное количество материала и по Excel, и по Word, и по Outlook, и по VBA и по другим языкам программирования. Чем удобны такие материалы: Вам рассказывают и одновременно показывают необходимые действия. Это намного лучше одной статической картинки. И я бы сравнил это с живыми курсами, с той лишь разницей, что Вы не можете задать вопрос преподавателю. Но есть и плюсы — Вы в любой момент можете остановить урок, отдохнуть, а затем продолжить обучение с того момента, на котором закончили.

Русская справка по Visual Basic for Application(VBA) — Это официальная справка по Visual Basic for Application(VBA), которая была включена в пакет Microsoft Office 97. Тогда справка была еще русифицирована. Ни для кого не секрет, что сейчас во всех версиях офиса справка по VBA доступна только на английском языке, независимо от локализации. А по буржуйски не все могут читать(даже сносно, как показывает практика).
Хочу сразу предупредить — т.к. справка предназначена для довольно старой версии, в ней описаны не все методы и свойста. Но основная их масса все же описана и, надеюсь, данная справка поможет Вам в начальном изучении VBA.

Формат файла: .файл справки

RUS_VBA.zip (1,1 MiB, 9 292 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Объекты Shell_RegExp и пр — целый сборник примеров работы с такими объектами как: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, константы и функции WScript. Все примеры структурированы по разделам и сделаны в качестве справки по свойствам и методам каждого из объектов. Очень удобно, если не очень часто применяете в работе эти объекты и что-то забылось.

Формат файла: .файл справки

_Shell_RegExp__.chm (207,6 KiB, 1 516 скачиваний)

VBA First Steps — по сути это сохраненный в формате справки сайт http://www.firststeps.ru/, который собрал в себе множество приемов по работе в VBA как для начинающих его изучать, так и для более продвинутых.

Формат файла: .файл справки

VBA_First_Steps.chm (1,1 MiB, 2 552 скачиваний)

vbfunction — описание и примеры использование почти всех встроенных функций VBA в алфавитном порядке от А.Климова.

Формат файла: .файл справки

vbfunction.chm (139,3 KiB, 2 726 скачиваний)

vba — Перебирайте файлы PDF и преобразуйте их в документ со словом

ms-word (2)

Как указывали другие, проблема, похоже, в основном связана с именем пути и файла. Вот вторая версия кода, который вы опубликовали с некоторыми изменениями.

К сожалению, появляется предупреждающее сообщение и установка DisplayAlerts в false не будет его подавлять. Но если вы нажмете флажок «Не показывать это сообщение снова» при первом всплытии, то он не будет продолжать отображаться для каждого файла.

Я пытаюсь использовать VBA-кодирование, что я довольно новичок, чтобы получить серию .doc-документов из PDF-файлов (которые не являются изображениями), то есть я пытаюсь перебрать различные файлы PDF и сохранить их в MS Word формат. Мой опыт в том, что слово хорошо читает документы PDF, которые у меня есть: слово поддерживает правильную компоновку файла PDF большую часть времени. Я не уверен, что это правильный выбор для решения этой проблемы, и я прошу альтернативного предложения — используя R, если это возможно.

В любом случае, вот код, который я нашел здесь :

После вставки его в окно разработчика я сохраняю код в модуле -> Я закрываю окно разработчика -> Я нажимаю кнопку «Макросы» -> Я выполняю макрос «convertToWord». Я получаю следующую ошибку во всплывающем окне: «Sub или Function not defined». Как это исправить? Кроме того, ранее, по какой-то причине, мне непонятно, я получил ошибку, связанную с функцией ChangeFileOpenDirectory , которая также не была определена.

Обновление 27/08/2017

Я изменил код на следующее:

Теперь я не получаю никаких сообщений об ошибках во всплывающем окне, но в моем рабочем каталоге нет вывода. Что может быть неправильно с этим прямо сейчас?

Любой язык, который может читать PDF-файлы и записывать документы Word (XML), может сделать это, но для преобразования, которое вам нравится (которое делает Word при открытии PDF-файла), потребуется использовать API для самого приложения. VBA — ваш простой вариант.

Отрывки, которые вы опубликовали (и мои примеры ниже), используют раннее связывание и перечислимые константы, что означает, что нам нужна ссылка на библиотеку объектов Word. Это уже настроено для любого кода, который вы пишете в документе Word, поэтому создайте новый документ Word и добавьте код в стандартный модуль. (См. Этот учебник по Excel, если вам нужна дополнительная информация, шаги для нашего процесса одинаковы).

Вы можете запустить свой макрос из редактора VB (с помощью кнопки «Запуск») или из обычного окна документа (нажмите кнопку «Макросы» на вкладке «Вид» в Word 2010-2016). Сохраните документ как файл DOCM, если вы хотите повторно использовать макрос, не настраивая код еще раз.

Теперь для кода!

Как указано в комментариях, ваш второй фрагмент действителен, если вы просто убедитесь, что пути к папке заканчиваются символом «» обратной косой черты. После того, как вы это исправите, это по-прежнему не очень хороший код, но это заставит вас работать и работать.

Я предполагаю, что вы хотите пройти лишнюю милю и иметь хорошо написанную версию этого, которую вы могли бы перераспределить или расширить позже. Для простоты мы будем использовать две процедуры: основное преобразование и процедуру для подавления диалогового окна предупреждения о конверсии PDF (контролируемого реестром).

Ссылка на основную публикацию