Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - doc в docx

Ответить
Настройки темы
CMD/BAT - doc в docx

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Существует ли возможность командой для Microsoft Word конвертировать doc в docx?

Цель - Сделать bat-файл, помещая который в папку, все файлы doc, находящиеся в папке, конвертировались бы в в docx с удалением исходных doc в корзину.
Необходимость - Файлы docx занимают заметно меньше места.

Отправлено: 12:26, 01-06-2017

 

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
Можно. Опишите, что на что, по каким принципам изменять. »
Автор - Пупкин
ключевые слова - Пусто
название - Пусто

Отправлено: 11:18, 06-06-2017 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Что-то коллеги молчат, я думал они и продолжат…

Добавьте в начало скрипта:
Код: Выделить весь код
Const wdPropertyTitle = 1
Const wdPropertyAuthor = 3
Const wdPropertyKeywords = 4
и перед «Call .ActiveDocument.SaveAs2(…)»:
Код: Выделить весь код
				With .ActiveDocument.BuiltInDocumentProperties
					.Item(wdPropertyAuthor)   = "Пупкин"
					.Item(wdPropertyTitle)    = ""
					.Item(wdPropertyKeywords) = ""
				End With
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:55, 12-06-2017 | #22


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Всем здравствуйте.

Ищется способ пакетного конвертирования из docx в doc ( есть много машин, в которых максимум установлен Microsoft Office 2003 )

Желательно максимально класический способ, чем примитивнее, тем лучше - типа последовательно по алфавиту, от А до Я, от A до Z, открывать файлы docx, выбирать Файл -> Сохранить как, выбирается Документ Word 97-2003 (*.doc)

Скрытый текст
То есть для работы способа требуется Microsoft Office 2010, файлы преобразуются из docx в doc, docx можно удалить, можно оставить ( желательно сделать коммент в скрипте ), после чего файлы doc можно открывать в Microsoft Office 2003

Отправлено: 19:57, 11-05-2018 | #23


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
То есть для работы способа требуется Microsoft Office 2010, »
Не обязательно. Как я понимаю, это может быть и Microsoft Office 2003 с установленным пакетом обеспечения совместимости.

Цитата SharkyEXE:
Ищется способ пакетного конвертирования из docx в doc ( есть много машин, в которых максимум установлен Microsoft Office 2003 ) »
Так зачем конвертировать? Разверните на машинах с Microsoft Office 2003 тот самый пакет обеспечения совместимости — и работайте.

Подумайте, так ли уж Вам потребно переводить все документы в старый формат?
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:11, 12-05-2018 | #24


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Iska

Здравствуйте.

Да, оочень хочется.

Мне проще локализовать проблему у меня с моими файлами, мои проблемы, чем надеяться, что нет времени у меня ждать и верить, что будут переустанавливать офис с 2003 на 2010, или устанавливать пакет совместимости на офис 2003, а так я всегда уверен - 99,9% у меня ходовых, рабочих файлов в формате doc, на любой машине открыл и работай

Спасибо.

Последний раз редактировалось SharkyEXE, 12-05-2018 в 06:41.


Отправлено: 06:09, 12-05-2018 | #25


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


SharkyEXE, ну, как хотите. Вот как-то так, пробуйте (под Microsoft Office 2003 с установленным пакетом обеспечения совместимости, более высокой версии Microsoft Office у меня нет):
Скрытый текст
Код: Выделить весь код
Option Explicit

Const wdAlertsNone = 0
Const wdAlertsAll = -1

Const wdFormatDocument = 0

Const ForAppending = 8


Dim strSourceFolder

Dim objFSO
Dim objFile
Dim objTS

Dim objWord
Dim objDocument

Dim lngTotalDocumentsCount


If WScript.Arguments.Count = 1 Then
	strSourceFolder = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FolderExists(strSourceFolder) Then
		Set objWord = Nothing
		
		lngTotalDocumentsCount = 0
		
		For Each objFile In objFSO.GetFolder(strSourceFolder).Files
			If StrComp(objFSO.GetExtensionName(objFile.Name), "docx", vbTextCompare) = 0 Then
				lngTotalDocumentsCount = lngTotalDocumentsCount + 1
				
				If objWord Is Nothing Then
					Set objWord = WScript.CreateObject("Word.Application")
					objWord.DisplayAlerts = wdAlertsNone
					
					Set objTS = objFSO.OpenTextFile(objFSO.BuildPath(objFSO.GetParentFolderName(WScript.ScriptFullName), "Converting Results.log"), ForAppending, True)
					objTS.WriteLine String(79, "=")
					objTS.WriteLine Now() & vbTab & "Start scanning source folder [" & strSourceFolder & "]."
				End If
				
				objTS.WriteLine Now() & vbTab & objFile.Path
				
				Set objDocument = objWord.Documents.Open(objFile.Path)
				objDocument.SaveAs objFSO.BuildPath(objFile.ParentFolder.Path, objFSO.GetBaseName(objFile.Name) & ".doc"), wdFormatDocument
				objDocument.Close
			End If
		Next
		
		If Not objWord Is Nothing Then
			objTS.WriteLine Now() & vbTab & "Finish scanning source folder [" & strSourceFolder & "]."
			objTS.WriteLine Now() & vbTab & "Total [" & lngTotalDocumentsCount & "] documents found."
			objTS.WriteLine String(79, "=")
			objTS.WriteLine
			objTS.Close
			Set objTS = Nothing
			
			objWord.DisplayAlerts = wdAlertsAll
			objWord.Quit
			Set objWord = Nothing
		End If
	Else
		WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source folder>"
	WScript.Quit 1
End If

WScript.Quit 0

Рядом со скриптом будет создаваться и дописываться файл Converting Results.log с результатами.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:34, 12-05-2018 | #26


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Iska

Здравствуйте.

Да тут не то, что мне нечем заняться, просто реально проще мне подстоиться, пару сотен файлов перевести из docx в doc - и мне станет проще.

А как пользоваться, можно инстуркцию, пожалуйста?

У меня установлен Microsoft Office 2010

На рабочем столе при помощи програмы AkelPad создал файл 1.vbs с Вашим кодом тынц ( кодировка: 1251 (ANSI - кириллица) )

На рабочем столе сделал Файл -> Создать -> Документ Microsoft Word, на рабочем столе появился файл Документ Microsoft Word.docx , внутри файла Документ Microsoft Word.docx на клавиатуре один раз нажата цифра 1, после чего нажато два раза кнопка Enter на клавиатуре

Перетащил файл Документ Microsoft Word.docx на 1.vbs

Итого: https://cloud.mail.ru/public/DVUU/CVr8Hhkx4

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

Спасибо.

Последний раз редактировалось SharkyEXE, 12-05-2018 в 09:02.


Отправлено: 08:44, 12-05-2018 | #27


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


SharkyEXE, приношу Вам свои извинения, запамятовал дописать.

Скрипт работает с целым каталогом, выбирая оттуда только файлы .docx. Путь к каталогу указывается параметром скрипта (также можно просто перетащить папку на скрипт в Проводнике).

Цитата SharkyEXE:
У меня установлен Microsoft Office 2010 »
Вот нет у меня большой уверенности, что в этом случае скрипт будет работать как задумывалось. Я писал под Microsoft Office 2003 с установленным пакетом обеспечения совместимости.

Цитата SharkyEXE:
Итого: https://cloud.mail.ru/public/DVUU/CVr8Hhkx4 »
Скрипт сообщает, что не смог найти папку с именем «Документ Microsoft Word.docx» .
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:41, 12-05-2018 | #28


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Iska

Здравствуйте.

Большое Вам спасибо.

Я вот что подумал - а нет самодостаточного, автономного способа, без установленного офиса, без установленного пакета обеспечения совместимости, типа версия без установки в систему, портативная, конвертации из docx в doc, из xlsx в xls?

Отправлено: 12:10, 12-05-2018 | #29


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


SharkyEXE, теоретически, конечно, может и есть, хотя внутренний формат .doc/.xls & etc проприентарен и вроде как никогда не открывался для широкой публики. Я не интересовался данным вопросом специально.

Для прямой конвертации был выпущено средство (но пакет обеспечения совместимости там нужен ), посмотрите эту недавнюю тему: [решено] Пакетная конвертация doc в docx.

Отправлено: 23:42, 12-05-2018 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - doc в docx

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Сохранение документа из формата docx в doc, без потери формул xfinity Microsoft Office (Word, Excel, Outlook и т.д.) 14 21-03-2015 22:13
Интерфейс - [решено] Решил уменьшить место путем преобразования старых *.doc в *.docx однако их очень мно yurka45pacan@vk Microsoft Windows 8 и 8.1 4 09-03-2014 12:37
DOCX Recovery Free 1.0 OSZone Software Новости программного обеспечения 0 27-09-2011 17:30
Batch DOC and DOCX Converter 2010.2.606.1411 OSZone Software Новости программного обеспечения 0 07-06-2010 00:30
Офис и Текст - Программы для конвертирования DOCX в DOC thief_89 Программное обеспечение Windows 1 13-08-2007 14:53




 
Переход