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

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Редактирование Word файл с под командной строки

Ответить
Настройки темы
Разное - [решено] Редактирование Word файл с под командной строки

Аватара для DEDI

Новый участник


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


Конфигурация

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


Цель: отредактировать документ Word с под командной строки (изменятся будет: номер документа, имя\фамилия )

Подойдет в принципе и Excel.

я так предполагаю что будет выглядит примерно так:
Цитата:
word.exe c:\doc.doc %NO% %NAME%

Отправлено: 01:03, 23-05-2013

 

Ветеран


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

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


Цитата DEDI:
я так предполагаю что будет выглядит примерно так: »
DEDI, не предполагайте, так — не будет.

Цитата DEDI:
Подойдет в принципе и Excel. »
Excel не подойдёт в принципе.

Выкладывайте образец документа. Указывайте, что и на что нужно изменять.

Отправлено: 02:27, 23-05-2013 | #2



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

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


Аватара для DEDI

Новый участник


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

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


Вложения
Тип файла: zip user.zip
(5.3 Kb, 3 просмотров)

Примерно так, документ не составлялся т.к. не известно можно ли реализовать это.

Нужно задать:
Номер квитанции - указать номер
Клиент - имя фамилия
Сервис - там могут быть как цифры так и буквы

Отправлено: 19:42, 23-05-2013 | #3


Ветеран


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

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


Попробуйте так:
читать дальше »
Код: Выделить весь код
Option Explicit

Const wdReplaceAll = 2

Dim strDocument
Dim strTicket
Dim strClient
Dim strService

Dim objFSO

Dim arrStrings


If WScript.Arguments.Count = 4 Then
	strDocument = WScript.Arguments.Item(0)
	strTicket   = WScript.Arguments.Item(1)
	strClient   = WScript.Arguments.Item(2)
	strService  = WScript.Arguments.Item(3)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strDocument) Then
		With WScript.CreateObject("Word.Application")
			With .Documents.Open(strDocument)
				For Each arrStrings In Array( _
						Array("Номер квитанции", strTicket), _
						Array("Клиент",          strClient), _
						Array("Сервис",          strService) _
					)
					
					With .Content.Find
						.ClearFormatting
						.Text = "(" & arrStrings(0) & ": )(*)(^13)"
						
						.MatchWildcards = True
						.Format         = False
						.MatchCase      = True
						
						With .Replacement
							.ClearFormatting
							.Text = "\1" & arrStrings(1) & "\3"
						End With
						
						.Execute , , , , , , , , , , wdReplaceAll
					End With
				Next
				
				.Save
				.Close
			End With
			
			.Quit
		End With
	Else
		WScript.Echo "Can't find document [" & strDocument & "]."
	End If
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Document> <Ticket> <Client> <Service>"
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:54, 23-05-2013 | #4


Аватара для DEDI

Новый участник


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

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


Iska, Огромное спасибо! то что нужно

Iska, еще один вопрос, необходимо добавить еще одно значение. Я попробовал но скрипт перестал работать =(. Где я ошибся?

Ошибка: Поле "Заменить на" содержит число, выходящее за пределы диапазона. код: 800A15F7

Команда: "%~dp0data_wscript.vbs" "%~dp0temp.doc" "12" "vasia pupkin" "9999999999" "internet connect"

читать дальше »
Код: Выделить весь код
Option Explicit

Const wdReplaceAll = 2

Dim strDocument
Dim strTicketNumber
Dim strClient
Dim strMobileTel
Dim strService

Dim objFSO

Dim arrStrings


If WScript.Arguments.Count = 5 Then
	strDocument     = WScript.Arguments.Item(0)
	strTicketNumber = WScript.Arguments.Item(1)
	strClient       = WScript.Arguments.Item(2)
	strMobileTel    = WScript.Arguments.Item(3)
	strService      = WScript.Arguments.Item(4)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strDocument) Then
		With WScript.CreateObject("Word.Application")
			With .Documents.Open(strDocument)
				For Each arrStrings In Array( _
						Array("Номер",          strTicketNumber), _
						Array("Клиент (ФИО)",   strClient), _
						Array("Номер телефона", strMobileTel), _
						Array("Сервис",         strService) _
					)

					With .Content.Find
						.ClearFormatting
						.Text = "(" & arrStrings(0) & ": )(*)(^13)"
						
						.MatchWildcards = True
						.Format         = False
						.MatchCase      = True
						
						With .Replacement
							.ClearFormatting
							.Text = "\1" & arrStrings(1) & "\4"
						End With
						
						.Execute , , , , , , , , , , , , , , wdReplaceAll
					End With
				Next
				
				.Save
				.Close
			End With
			
			.Quit
		End With
	Else
		WScript.Echo "Can't find document [" & strDocument & "]."
	End If
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Document> <Ticket> 

<Client> <Service>"
End If

WScript.Quit 0


Заранее спасибо.

Последний раз редактировалось okshef, 24-05-2013 в 08:24.


Отправлено: 02:40, 24-05-2013 | #5


Ветеран


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

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


Выложите новый образец документа.

Цитата DEDI:
необходимо добавить еще одно значение. »
Какое именно?

Цитата DEDI:
Код: Выделить весь код
Array("Клиент \(ФИО\)", strClient), _
»
Поиск и замена текста или других элементов - Word - Office.com:
Цитата:
Чтобы найти знак, являющийся одним из подстановочных знаков, введите перед ним обратную косую черту (\). Например, введите \?, чтобы найти вопросительный знак.
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:03, 24-05-2013 | #6



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Редактирование Word файл с под командной строки

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Как распечатать файл из командной строки "правильным" приложением? Yewgeniy Скриптовые языки администрирования Windows 14 01-02-2019 13:05
Доступ - Как получить права на файл или реестр из командной строки и вернуть всё как было hb860 Microsoft Windows 7 9 25-02-2013 14:03
Редактирование в Word хочу все знать Microsoft Office (Word, Excel, Outlook и т.д.) 3 12-10-2011 20:28
Как в Omni Page распознавать файл переданый в качестве параметра командной строки madmax24 Программное обеспечение Windows 8 07-06-2007 19:59
Редактирование DNS из командной строки keyF Сетевые технологии 2 29-12-2004 19:08




 
Переход