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

Vba word сохранение документа

Vba word сохранение документа

Замените путь «d:» на нужный.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Option Explicit
Sub OpenAs()
Dim s$, strDate$, strPath$, r As Boolean, S1$
s = ActiveDocument.Name
strPath = «d:»
strDate = Format(Now, «yyyy-mm-dd»)
If s Like «*-??-*» Then s = RegExpReplace(s, «d<2,4>-d<2>-d<2,4>«, strDate): r = 1
If Not r Then
S1 = Split(s, «.»)(UBound(Split(s, «.»)))
s = Trim(Left(s, Len(s) — Len(S1) — 1))
s = s & » » & strDate & «.» & S1
End If
If Dir(strPath & «» & s) = «» Then MsgBox «Файл:» & Chr(10) & strPath & «» & s & » не существует!», vbInformation: Exit Sub

Documents.Open FileName:=strPath & «» & s
MsgBox «файл:» & Chr(10) & strPath & «» & s & » открыт!», vbInformation
End Sub
Sub SaveAs()
Dim s$, strDate$, strPath$, r As Boolean, S1$
s = ActiveDocument.Name
strPath = «d:»
strDate = Format(Now, «yyyy-mm-dd»)
If s Like «*-??-*» Then s = RegExpReplace(s, «d<2,4>-d<2>-d<2,4>«, strDate): r = 1
If Not r Then
S1 = Split(s, «.»)(UBound(Split(s, «.»)))
s = Trim(Left(s, Len(s) — Len(S1) — 1))
s = s & » » & strDate & «.» & S1
End If
s = InputBox(«Сохранить файл в папке » & vbCr & strPath & vbCr & «как:», , s)
If Not s = «» Then
ActiveDocument.SaveAs2 FileName:=strPath & «» & s
MsgBox «файл:» & Chr(10) & strPath & «» & s & » сохранен», vbInformation
End If
End Sub
Private Function RegExpReplace(ByVal WhichString As String, _
ByVal Pattern As String, _
Optional ByVal ReplaceWith As String = » «, _
Optional ByVal IsGlobal As Boolean = True, _
Optional ByVal IsCaseSensitive As Boolean = True) As String
‘Функция по регулярному выражению (маске) возвращает результат
‘Declaring the object
Dim objRegExp As Object
‘Initializing an Instance
Set objRegExp = CreateObject(«vbscript.regexp»)
‘Setting the Properties
objRegExp.Global = IsGlobal
objRegExp.Pattern = Pattern
objRegExp.IgnoreCase = Not IsCaseSensitive
‘Execute the Replace Method
RegExpReplace = objRegExp.Replace(WhichString, ReplaceWith)
End Function

Спасибо большое, SLAVICK. Все работает как надо.

Вопрос ещё такой:
1. Можно ли эти кнопки скрыть при распечатки документа или разместить их в другом месте, чтобы при печати документа их небыло?
2. При нажатие кнопки Сохранить. Содаеться документ с датой, но при повторном нажатие, содаеться документ с добавлением ещё текущей даты и так бесконца. Может, если документ уже сохранен, то не позволять его ещё раз сохранять. А выдовать сообщение об этом. А если пользователь захочит ещё раз сохранить документ, то он может просто воспользоваться стандартной кнопкой ms word))
Или может название файла с текущей датой, который будет сохраняться при нажатие кнопки прописать в самом коде, тогда будет проще проверить сохранен он уже с таким названием или нет. И тогда если даже пользователь переименует название файла шаблона, то при нажатие кнопки ему будет предложено сохранить с нужным названием)))

Using Word-VBA to automatically save as .html when you save a document

I work in an entirely offline facility; it has an intranet site, and is VERY limited to programs available (MS Word is the only application available).

I need to be able to open a Microsoft Word document, edit it, and then, when you save the document, it saves the file, and then saves it in .html format as well.

To elaborate, I work in a military Facility that has a network that we cannot have anything installed. On this network is a series of computers. On these computers we keep a log. We want to be able to display this log to anyone who wants to see it. The log is in a .doc format. I want someone to open the log.doc then save it. Once saved it will save an .html file. That file will be displayed for ANYONE on the network to see it.

Создан 21 июл. 14 2014-07-21 17:58:00 Brandon

I wonder if you can elaborate on your scenrio. both answers given seem to solve the problem, but I fear that your problem is bigger than you have described here. – Phlume 21 июл. 14 2014-07-21 18:09:46

@Phlume The problem with both answers is that they don’t answer the question of «how can I do this using VB» – TylerH 21 июл. 14 2014-07-21 18:10:43

Your above comment was the first mention of VB. Again. you need to elaborate better. – Phlume 21 июл. 14 2014-07-21 18:13:14

Are you saying that you’re wanting to use VBA to dynamically create a word document and a HTML webpage? – Gareth 21 июл. 14 2014-07-21 18:14:58

@Phlume the question is tagged with vba twice. It’s important to pay attention to question tags as well as to correctly interpret the question text (which begins with «I work in a facility that is **all offline**»). – TylerH 21 июл. 14 2014-07-21 18:19:22

2 ответа

The following is adapted slightly from Microsoft’s Developer Network. Save this as a Macro in the copy of MS Word used by the client. This Macro will:

Save the document as a .doc(x) file, then as a .HTML file.

Создан 21 июл. 14 2014-07-21 18:18:10 TylerH

This works, but is there anyway to run this macro when they save the .doc? If not, I would have to have 75+ employees make a button to enable macro. not an easy feat. – Brandon 21 июл. 14 2014-07-21 18:28:41

@Brandon Sure, give me a minute. – TylerH 21 июл. 14 2014-07-21 18:36:48

@Brandon When you save the file it will also save it as a .html file now. – TylerH 21 июл. 14 2014-07-21 18:43:18

I saved both a log.docx and a log.html I put this in word and restarted. It did not seem to update the .html when i treid to save the .docx – Brandon 21 июл. 14 2014-07-21 18:54:56

OK It works, but it saves the .html to docuements folder. Is there a way to tell it where to save the .html file so that no matter who opens the docx it works? – Brandon 21 июл. 14 2014-07-21 19:03:32

ok I got it to work (where I need the .html to go) but the docx is not saving. When I open the .docx it automatically opens the .html (which is fine if the .docx is going to save) – Brandon 21 июл. 14 2014-07-21 19:12:03

@Brandon It should let you choose where you want to save it, assuming you are choosing the AutoRun macro. – TylerH 21 июл. 14 2014-07-21 19:12:33

Im not choosing any macro to run. When I open the .docx it converts it to .html right away. So everything i Save changes the .html. This is GREAT for the display on the html, but once you make a bunch of changes then save it, then close it. The next person to open the docx it does not show all the changes. – Brandon 21 июл. 14 2014-07-21 19:17:10

@Brandon Unfortunately my knowledge with VBA is very limited; if you take this and go to MSDN or similar forums/Q&A sections, they can probably get you squared away without too much difficulty. – TylerH 21 июл. 14 2014-07-21 19:18:45

Читать еще:  Завис word что делать

I know how to run macros, but thats why i asked if it was possible to have everything save both to .html and .docx when you just hit the save button because 70+ of the people i work for wont know how to run a macro. – Brandon 21 июл. 14 2014-07-21 19:19:09

@Brandon That’s why I suggested earlier to add the macro to the image of MS Word. Will all these people be using the same computer? Or will they be using computers that are imaged? Once a Macro is added to an instance of MS Word it stays there until you delete it. Even through logging off and back on. – TylerH 21 июл. 14 2014-07-21 19:20:38

it is a .docx on a server that everyone who has access will use. – Brandon 21 июл. 14 2014-07-21 19:22:34

how do i add the macro to the image? – Brandon 21 июл. 14 2014-07-21 19:22:56

@Brandon Send the Macro to the IT personnel responsible for the imaging of the computers and request that it be vetted/added to every installation of MS Office on the intranet, I guess. – TylerH 21 июл. 14 2014-07-21 19:25:44

Having the Macro installed is no big deal. I have the ability to do that. The macro is there, no matter what computer i log into. what you have giving me does 50%, which is more than I had. Now really i just need to get the docx to save lol – Brandon 21 июл. 14 2014-07-21 19:28:18

I think you solved my problem, I guess im just not explaining the only issue. With this Macro when you open the docx it opens the .html. I dont mind this, but I would need it to still save the .docx – Brandon 21 июл. 14 2014-07-21 19:30:42

10.4.3 Работа с объектом Document , его свойства и методы

Объект Word.Document, программная работа со свойствами и методами документа в VBA

После того, как мы при помощи объекта Application запустили Word, при помощи коллекции Documents создали (или открыли, или нашли среди уже открытых) — в общем, получили ссылку на нужный нам документ, можно выполнять с этим документом различные действия, реализованные при помощи свойств, методов и событий объекта Document. У этого объекта десятки свойств и методов, и здесь мы рассмотрим только наиболее важные и часто используемые из них. Для самостоятельного рассмотрения будут оставлены очевидные и редкоиспользуемые свойства.

Обратите внимание, что к объекту Document можно обращаться и не создавая специальную объектную переменную. Существует еще по крайней мере три способа получения доступа к объекту Document:

  • работать с документом как с элементов коллекции Documents. Формате обращения может выглядеть, например, так: Documents.Item(1);
  • использовать специальное ключевое слово ThisDocument. При помощи него можно получить ссылку на объект документа, которому принадлежит исполняемый программный модуль, например:
  • использовать свойство объекта Application ActiveDocument. Это свойство возвращает нам объект активного документа:

Самые важные свойства объекта Document представлены ниже:

  • ActiveWritingStyle — текущий активный стиль (заголовок определенного уровня, обычный текст, гиперссылка и т.п.). Рекомендуется проверить перед вводом текста.
  • AttachedTemplate — возможность подключить шаблон (со всеми макросами, стилями, записями автотекста и т.п.) или проверить, какой шаблон подключен (вручную это можно сделать через меню Сервис ->Шаблоны и надстройки).
  • Background — возвращает объект Shape, представляющий фоновый рисунок (фоновые рисунки видны только в режиме Web-документ);
  • BuiltInDocumentProperties — возможность получить ссылку на коллекцию DocumentProperties с одноименными объектами, представляющими встроенные свойства документа (название, автор, категория, комментарии и т.п.);
  • Characters — возвращает коллекцию объектов Range, каждый из которых представляет один символ. Это свойство есть не только у объектов Document, но и у объектов Selection и Range. Может использоваться, например, для выполнения операция поиска и замены или статистических подсчетов (например, для если переводчику платят за количество символов);
  • Content — свойство, возвращающее объект Range, представляющий главную цепочку документа (main document story). Если говорить проще — просто текст документа, без колонтитулов, сносок, комментариев и т.п.
  • CustomDocumentsProperty — свойство, возвращающее коллекцию объектов DocumentProperties, представляющих пользовательские свойства документа. Можно использовать для сохранения вместе с документом любых значений переменных. Очень удобно, например, для подсчета количества открытий документов, флажков печатался/не печатался, сколько раз вызывалась та или иная функция, на каких компьютерах и каким пользователем открывался и т.п.
  • DefaultTabStop — определить отступ по умолчанию при использовании символа табуляции. По умолчанию — 35 пунктов, что примерно равно 1,25 см;
  • DisableFeatures — отключить возможности, которые понимают только последние версии Word (для совместимости с пользователями, у которых на компьютерах стоят старые версии). Обычно само свойство DisableFeatures просто включает этот режим, а конкретный уровень совместимости задается при помощи свойства DisableFeaturesIntroducedAfter.
  • DoNotEmbedSystemFonts — не вставлять в документ системные шрифты (по умолчанию для русского, японского и т.п. вставляются). Позволяет сократить размер документа — но тогда пользователи в системе, где не стоит русский язык, не смогут прочесть этот документ.
  • EmbedTrueTypeFonts — очень полезное свойство, если вы работаете с документом в месте, где используются экзотические шрифты (например, в издательстве). Вставка true-type шрифтов гарантирует, что получатели документа будут видеть его точно таким же, как и создатель.
  • Envelope — позволяет получить ссылку на специальный объект Envelope, который используется для создания почтовых конвертов.
  • Fields — возможность получить ссылку на коллекцию Fields одноименных объектов. Очень полезна при работе с полями.
  • Footnotes — возможность получить коллекцию сносок.
  • свойства Formatting… — что показывать в списке стилей в панели инструментов Форматирование.
  • FormFields — аналогично Fields, но в этом случае мы получаем ссылку на поля в формах.
  • FulName — полное имя объекта (вместе с путем к нему в файловой системе или Web). Доступно, конечно, только для чтения.
  • GrammarChecked — пометить весь документ, как проверенный с точки зрения грамматики (фактически отключить проверку грамматики для данного документа). Такое же свойство существует и у объекта Range. Коллекцию ошибок, выловленных при проверке грамматики, можно получить при помощи свойства GrammaticalErrors, а выделить ошибки зеленым волнистым подчеркиванием (если они еще не выделены) — при помощи свойства ShowGrammaticalErrors. Для орфографических ошибок существует аналогичные свойства SpellingChecked, SpellingErrors и ShowSpellingErrors.
  • HasPassword — проверить, назначен ли пароль для указанного документа. Password — назначить пароль. По причине крайней слабости парольной защиты пароли в Word, Excel и Access использовать не рекомендуется.
  • Indexes — возвращает коллекцию индексов (то есть предметных указателей) для документа.
  • Name — возвращает имя документа (без пути к нему).
  • OpenEncoding — возвращает кодовую страницу, которая использовалась для открытия документа. Для русского языка по умолчанию, конечно, 1251.
  • PageSetup — позволяет получить ссылку на одноименный объект. Используется, конечно, в основном при реализации печати.
  • Paragraphs — возвращает ссылку на коллекцию абзацев в данном документе.
  • Path — возвращает путь к документу в файловой системе (без имени). Может пригодиться, чтобы создать еще один файл по тому же пути.
  • Permission — возможность получить доступ к объекту Permission, который позволяет управлять системой внутренних разрешений документа Word (не разрешений файловой системы).
  • PrintRevisions — печатать или нет пометки редактора (исправления) вместе с документом. По умолчанию — печатать.
  • ProtectionType — проверить защиту данного документа (разрешено все, или только комментарии, чтение, изменения в полях форм и т.п.). Сама защита устанавливается при помощи метода Protec()t.
  • ReadOnly — здесь объяснений не требуется. Это свойство доступно только на чтение (поскольку соответствующий атрибут устанавливается в файловой системе).
  • RemoveDateAndTime и RemovePersonalInformation — удалить информацию о дате и времени произведенных изменений и всю информацию о пользователе из документа (включая свойства документа). Может быть полезным при создании файла-образца.
  • Saved — очень важное свойство. Позволяет определить, изменялся ли документ со времени последнего изменения.
  • SaveEncoding — позволяет явно указать (или получить) кодировку, которая будет использоваться при сохранении документа.
  • SaveFormat — позволяет получить информацию о формате документа (DOC, RTF, TXT, HTML и т.п.). Доступно только для чтения.
  • Sections — возвращает коллекцию разделов документа. Sentences — то же самое для предложений. Аналогично работают свойства Shapes , Styles, Subdocuments, Tables, Windowsи Words .
  • Type — возвращает тип документа (обычный, шаблон или Web-страница с фреймами).
  • Variables — еще одно очень удобное свойство. Можно использовать для сохранения своих служебных данных вместе с документом, как и пользовательские атрибуты ( custom attributes), но в отличие от пользовательских атрибутов документа, пользователям эти свойства не видны.
Читать еще:  Vba word работа с колонтитулами

Теперь — о самых важных методах объекта Document:

  • Activate() — этот метод позволяет сделать указанный вами документ активным (например, для ввода текста).
  • AddToFavorities() — добавить ссылку на документ в каталог «Избранное». Может быть полезным, если пользователь будет работать с ним постоянно.
  • CheckSpelling() и CheckGrammar() — запустить проверку орфографии и грамматики соответственно.
  • Close() — закрыть документ. Можно закрыть с сохранением (по умолчанию), а можно — без (если указать соответствующий параметр).
  • Compare() — сравнить документ с другим и сгенерировать редакторские пометки в местах, где обнаружены различия.
  • DataForm() — возможность редактирования форм данных — то есть данных, которые в документе разделены разделителями полей и строк. Вообще говоря, формы данных в Word рекомендуется использовать только в случае крайней необходимости — гораздо больше дл работы с упорядоченными данными приспособлены Excel и Access.
  • DetectLanguage() — определить язык текста. Проверка производится по предложениям, на основе сверки слов в них со встроенными словарями. Такая проверка производится автоматически во время ввода текста или открытия нового документа. Чтобы заново провести проверку языков, свойство LanguageDetected нужно перевести в False.
  • FitToPages() — очень интересный метод. Размер шрифта автоматически меняется таким образом, чтобы текст стал занимать на одну страницу меньше. Можно использовать для устранения «висячих страниц» и других проблем верстки.
  • FollowHyperlink() — открыть указанный вами документ в соответствующем приложений (если HTML, то в Internet Explorer).
  • GoTo() — очень мощный метод, существует для объектов Document, Range и Selection. В первых двух случаях он возвращает объект Range, в третьем — просто перемещает указатель ввода текста на нужное место. Умеет переходить на начало страницы, строки, закладки, комментария, таблицы, секции, поля, ссылки, формулы и т.п. Может на определенный номер этого объекта, первый, последний, следующий и т.п. Очень удобно использовать для установки указателя в нужное место для автоматического ввода текста.
  • Merge() — возможность произвести слияние двух документов. Метод очень сложный и мощный, основывается на применении редакторских пометок.
  • PresentIt() — открывает данный документ Word в PowerPoint.
  • PrintOut() — очень сложный метод, который позволяет вывести на печать весь документ или его часть. Принимает два десятка параметров (все — необязательные). Может использоваться для объектов Application, Document и Window.
  • PrintPreview() — перевести документ в режим предпросмотра.
  • Protect() — возможность ограничить внесения изменений в документ при помощи пароля или IRM.
  • Range() — очень важный метод. Возвращает объект Range (он будет рассмотрен ниже), принимает в качестве параметров номер начального символа диапазона и номер конечного символа.
  • Redo() — повторить последнее действие. В качестве параметра принимает количество последних действий, возвращает True, если повтор был произведен успешно.
  • Repaginate() — переразбить документ на страницы. Обычно используется, если автоматическая разбивка была ранее отключена.
  • Save() — смысл этого метода очевиден. Если документ еще не сохранялся, открывается диалоговое окно Save As.
  • SaveAs() — очень мощный и сложный метод. Можно определить путь для сохраняемого документа, его формат, кодировку, пароли на открытие и изменение документа, вставку шрифтов и многое другое. Очень полезный метод, например, для автоматической конвертации документов.
  • Select() — позволяет просто выделить весь документ. Этот метод существует для очень большого количества объектов, в том числе Selection и Range.
  • TransformDocument() — исключительно мощный метод, но только для программистов, которые хорошо разбираются в XML и XSLT. Позволяет применить к документу таблицу преобразований стилей (Extensible Stylesheet Language Transformation, XSLT), при помощи которой можно поменять все, что угодно.
  • Undo() — отменить определенное количество последних действий. По синтаксису и принципам работы — полный аналог Redo().
  • UndoClear() — очистить буфер отмены изменений, чтобы пользователь не смог откатить произведенные действия.
  • UnProtect() — снять защиту с документа (определенную методом Protect() или на графическом интерфейсе). Может быть очень полезным перед программным внесением изменений в защищенный документ.

Часто используемых событий у объекта Document всего три — New() (можно определить только для шаблона, срабатывает, когда на основе этого шаблона создается новый документ), Open() и Close(). Все эти свойства очевидны и изначально доступны в окне редактора кода Visual Basic.

VBA: сохранение документа Word в двух местах

Чего бы я хотел добиться, так это сохранить документ Word в двух местах с помощью функции Save . Однако у него есть два недостатка. Во-первых, Word мигает, когда я сохраняю файл (потому что он закрывается, сохраняет копию, и она становится активным документом, который закрывается, а затем Word возвращается к исходному документу). Во-вторых, макрос добавляет мою резервную копию в последние файлы, несмотря на AddToRecentFiles:=False Как избежать двух ошибок?

1 Ответ

Этот код проверяет, есть ли в документе изменения, которые необходимо сохранить. Если их нет, то создается резервная копия. В противном случае, если документ имеет путь к файлу (был сохранен ранее), то документ сохраняется и код перезапускается, после чего будет произведена резервная копия. В противном случае отображается диалоговое окно Сохранить как, чтобы документ можно было сохранить в путь, а затем выполняется резервное копирование.

Хитрая часть заключается в том, как макрос должен различать «I’ve only opened and looked at it» и «the document has been saved, now make a back-up».

Одним из возможных вариантов было бы проверить наличие переменной документа или свойства документа, заданного действием Save и удаленного SaveAs. Попробовать это:

  1. File/Info; из выпадающего списка «Properties» выберите «Advanced Properties».
  2. Создайте Пользовательское свойство с именем MakeBackup в качестве типа «Yes/No» и установите для него значение No.
  3. После очереди .Сохранить: ActiveDocument.CustomDocumentProperties(«MakeBackup»).Value = True
  4. Добавьте проверку в If для резервной копии, чтобы проверить, верно ли это: If .Saved And ActiveDocument.CustomDocumentProperties(«MakeBackup»).Value = True Then
  5. А после строки SaveAs2 измените ее обратно на false: ActiveDocument.CustomDocumentProperties(«MakeBackup»).Value = False

Похожие вопросы:

Именно это я и пытаюсь сделать: У меня есть лист Excel, где пользователи могут выбрать некоторые ключевые слова. Для каждого ключевого слова существует отдельный документ Word с тем же именем.

Читать еще:  Книга vba word

Следующий код позволит мне вставить абзац из документа word, используя VBA (сохраняя исходные форматы) Set WordApp = CreateObject(Word.Application) WordApp.Visible = True Set WordDoc =.

Я хотел бы использовать vba для защиты моего документа word. Действительно, это возможно, но я искал, как снять защиту с документа по этой ссылке .

Недавно я узнал, как манипулировать документами Word через VBA в Excel. Моя проблема заключается в том, что я хочу, чтобы мой макрос мог определить активный документ word с правильным именем файла и.

Мой вопрос несколько похож на этот пост извлечение собственности компании из документа Word с использованием Excel VBA Я ищу, чтобы извлечь свойства элемента управления содержимым вместо.

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

Вот мой сценарий: пользователь сливает документ Word, у меня есть кнопка на панели быстрого доступа, которая выполняет макрос, который использует Shell Execute для создания приложения, передающего.

Я использую довольно простой VBA в Word: Sub Something On Error GoTo prob Dim d As Document Set d = Documents.Open(FileName:=c:ajb filestest.docx) ‘this should run if macro succeeds MsgBox ok Exit.

Программа VBA, которую я пытаюсь написать, должна извлекать информацию из закрытого документа Word, основываясь на имени пути этого документа, предпочтительно не показывая сам документ. Так: Открыть.

Я использую excel VBA для заполнения данных в шаблоне word из таблицы excel. Проблема, с которой я сталкиваюсь, — это выбор верхней части документа word, поэтому информация попадает в нужное место.

Сохранение документа в Word

Всем привет, с вами автор блога scriptcoding.ru. Данная публикация рассматривает сохранение документа в Word с помощью программирования и с помощью рядовых методов системы Windows.

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

Из всей объектной модели Word, компонентами, которые предоставляют средства для сохранения в ворде документа, являются объект Document и коллекция Documents. По сути, у объекта Document есть два метода: Save и SaveAs, которые соответствуют диалоговым окнам » Сохранить » и » Сохранить Как «, а коллекция предоставляет только метод Save. Я уже рассматривал данный объект и коллекцию, но не углублялся в методы Save и SaveAs, а все потому, что у метода SaveAs огромное количество параметров, описание которых тянет на отдельную статью. Вот я и решил собрать все это воедино, и описать.

Объект Document – сохранение в ворде

Save (NoPrompt, OriginalFormat) – Показывает, как в ворде сохранить все файлы, которые входят в коллекцию Documents.

NoPrompt – Если значение true, то Word автоматически сохранит все файлы. Если значение false — Word предложит пользователю сохранить каждый файл, изменившийся с момента последнего сохранения.

OriginalFormat — Определяет, как документы будут сохранены в ворде. Содержит значение константы WdOriginalFormat:

  • wdOriginalDocumentFormat — 1 — Оригинальный формат.
  • wdPromptUser — 2 – Пользователю будет предложено выбрать формат.
  • wdWordDocument — 0 – Формат Microsoft Word.

Если сохранение в ворде ранее не производилось, то диалоговое окно «Сохранить как» запросит у пользователя имя файла.

SaveAs (FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks, CompatibilityMode) – Сохранение файла Word с новым именем или форматом (Диалоговое окно «Сохранить Как»).

FileName – Позволяет задать путь и имя сохраняемого файла в ворде. Если задать только имя файла, то произойдет сохранение в ворд в папке по умолчанию – «Мои Документы». Если документ с таким именем уже существует, то произойдет перезапись без уведомления пользователя.

FileFormat – Задаем формат, в котором сохраняется документ в Word. Значение константы WdSaveFormat.

Константа WdSaveFormat позволяет задать формат PDF (wdFormatPDF – 17) или XPS (wdFormatXPS — 18). Однако, что бы сохранить в ворде файл в этих форматах, вам придется установить расширение SaveAsPDFandXPS, которое доступно на сайте Майкрософт. Смотрите статью «Как в ворде сохранить документ в PDF формате»

LockComments – Содержит логические значения, true — заблокировать документ для комментариев. По умолчанию используется false.

Password – Пароль для открытия.

AddToRecentFiles – Содержит логическое значение, true — добавить документ в список недавно использовавшихся в меню Файл. По умолчанию используется True.

WritePassword — Пароль для сохранения в ворде изменений.

ReadOnlyRecommended — Содержит логические значения, true – открывать только для чтения. По умолчанию используется False.

EmbedTrueTypeFonts — Содержит логические значения, true – сохранить TrueType шрифты вместе с документом.

SaveNativePictureFormat – Параметр используется, если графики были импортированы из другой платформы (например, Macintosh). true — сохранить в ворд только версию Microsoft Windows импортируемых графиков.

SaveFormsData –true — сохранить в ворд данные, введенные пользователем в форме в виде записи.

SaveAsAOCELetter – Параметр актуален, если документ имеет прикрепленное почтовое вложение. true – сохраняем документ Word как AOCE письмо.

Encoding – Отвечает за кодировку текста. По умолчанию используется системная кодировка. Параметр должен содержать значение константы MsoEncoding .

InsertLineBreaks – Параметр используется, если происходит сохранение документа в Word в виде текстового файла. true — вставить разрывы строк в конце каждой строки текста.

AllowSubstitutions – Актуально, если файл ворд сохраняется в виде текстового файла. Значение true позволяет Word заменить некоторые символы в тексте их упрощенными аналогами. Например, символа авторского права. По умолчанию используется значение False.

LineEnding – Определяет форматирование строк и абзацев в документах, сохраненных в виде текстовых файлов. Может быть одним из следующих значений константы WdLineEndingType:

  • wdCRLF — 0 — возврат каретки и строки.
  • wdCROnly — 1 — Возврат только каретки.

AddBiDiMarks – true — добавить управляющие символы в выходной файл.

CompatibilityMode — Режим совместимости, который Word2010 использует при открытии документа. Значение константы WdCompatibilityMode:

  • wdCurrent — 65535 — Совместимость режим эквивалентен последней версии Microsoft Word.
  • wdWord2003 — 11 — Word2010 введен в режиме, который наиболее совместим с Word2003.
  • wdWord2007 — 12 — Word2010 введен в режиме, который наиболее совместим с Office Word2007.
  • wdWord2010 — 14 — Word2013 введен в режиме, который наиболее совместим.
  • wdWord2013 — 15 — По умолчанию. Все функции Word 2013 включены.

Если данный параметр отсутствует, то принимается значение 0 – сохраняется текущий режим совместимости.

Коллекция Documents – как в ворде сохранить документ

Save (NoPrompt, OriginalFormat) – Метод выполняет ту же функцию, что и Save объекта Document, только для коллекции Documents.

Хорошо, с теорией закончили, теперь привожу два примера программного кода на языке VBScript и JScript, котрые создают новый документ, вставляют в него форматированный текст, содержащий информацию о сервере сценариев Windows Script Host и сохраняют в ворде данный документ в текущем каталоге (каталог, откуда был произведен запуск сценария).

Программный код на языке VBSCRIPT:

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