Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Скриншот панели управления и вставка в WORD

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


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

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


Создать файл сценариев, который выполняет следующие операции и организует обработку исключительных ситуаций:
1. Запустить модуль панели управления (см. таблицу). Сделать копию экрана для каждой страницы окна модуля в документ WORD и вставить поясняющий текст (можно на английском языке). Сохранить файл. Закрыть все окна. Представить текст скрипта и полученный файл.
Не могу понять,почему не открывает word и не делает скриншот
Код: Выделить весь код
Option Explicit
Sub delaySendKeys(str)
WScript.Sleep 300 : WshShell.SendKeys str
End Sub
Dim WB, WshShell, PExec, i, Painter, SPath, FSO
set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WB = CreateObject("Word.Basic")
For I = 0 To 4
Set PExec = WshShell.Exec("%windir%\System32\rundll32.exe SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,"&i)
WScript.Sleep 500 : WB.SendKeys "{prtsc}" : WScript.Sleep 500 : PExec.Terminate() 
Set Painter = WshShell.Exec("mspaint.exe") : WScript.Sleep 500 
SPath = "C:\screen"&(i+1)&".png" : if FSO.FileExists(SPath) then FSO.DeleteFile(SPath)
WScript.Sleep 500 
delaySendKeys("^v") : delaySendKeys("^s")
delaySendKeys(SPath) : delaySendKeys("{ENTER}")
WScript.Sleep 500
Painter.Terminate()
Next
WB.AppClose "Microsoft Word"
WScript.Quit

Отправлено: 21:58, 12-03-2014

 

Ветеран


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

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


Цитата upward:
Не могу понять,почему не открывает word »
Открывает. Посмотрите процессы в Диспетчере задач. Но лучше:
Код: Выделить весь код
Set WB = CreateObject("Word.Basic")
Set objWord = WScript.CreateObject("Word.Application")
Если Вам нужно Word увидеть:
Код: Выделить весь код
objWord.Visible = True
Ну, и, закрывать:
Код: Выделить весь код
objWord.Quit
Set objWord = Nothing
А так — мутное задание со странным выбором в качестве исполнителя WSH.

Последний раз редактировалось Iska, 12-03-2014 в 23:23. Причина: Промахнулся тэгом


Отправлено: 23:13, 12-03-2014 | #2



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

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


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


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

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


Iska, я не так выразился. Вроде скрипт и переходит по вкладкам и ворд в процессах висит,но скринов скрипт не делает

Отправлено: 10:14, 13-03-2014 | #3


Ветеран


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

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


upward, гарантировать корректную работу «SendKeys()» практически невозможно. Пробуйте:
Код: Выделить весь код
Option Explicit

Const wdCollapseEnd = 0

Dim objWshShell
Dim objWord
Dim objDocument
Dim objWB

Dim i
Dim strPath


Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWord     = WScript.CreateObject("Word.Application")
Set objWB       = WScript.CreateObject("Word.Basic")

Set objDocument = objWord.Documents.Add()

For i = 0 To 4
	With objWshShell.Exec("""%SystemRoot%\System32\rundll32.exe"" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0," & CStr(i))
		WScript.Sleep 1000
		objWshShell.AppActivate .ProcessID
		WScript.Sleep 300
		objWB.SendKeys "%{PRTSC}", True
		WScript.Sleep 1000
		
		.Terminate()
	End With
	
	With objWord.Selection
		.Paste
		.Collapse wdCollapseEnd
		.InsertParagraphAfter
		.Collapse wdCollapseEnd
		.TypeText "Рисунок " & CStr(i + 1)
		.InsertParagraphAfter
		.Collapse wdCollapseEnd
	End With
Next

objDocument.SaveAs "c:\My Screenshots.doc"
objDocument.Close

objWord.Quit

Set objWord     = Nothing
Set objWB       = Nothing
Set objWshShell = Nothing

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

Отправлено: 11:32, 13-03-2014 | #4


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


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

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


если вас не затруднит,можете пояснить что где и как и про
Цитата Iska:
«SendKeys()» »
прочитать где.
Спасибо заранее.


-----------------
при запуске скрипта sysdm.cpl открывает в свернутом режиме и автоматом должно по вкладкам переходить верно?

Последний раз редактировалось upward, 13-03-2014 в 11:52.


Отправлено: 11:46, 13-03-2014 | #5


Ветеран


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

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


Цитата upward:
если вас не затруднит,можете пояснить что где и как и про
Цитата Iska:
«SendKeys()» »
прочитать где. »
Переведите, пожалуйста, на русский.

Цитата upward:
при запуске скрипта sysdm.cpl открывает в свернутом режиме и автоматом должно по вкладкам переходить верно? »
Нет, не верно.

Отправлено: 11:56, 13-03-2014 | #6


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


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

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


Iska, скрипт который вы написали как он работает?

Отправлено: 11:59, 13-03-2014 | #7


Ветеран


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

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


Так, как Вы заказывали:
Цитата upward:
Запустить модуль панели управления (см. таблицу). Сделать копию экрана для каждой страницы окна модуля в документ WORD и вставить поясняющий текст … . Сохранить файл. Закрыть все окна. »

Отправлено: 12:02, 13-03-2014 | #8


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


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

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


Iska, а вы его запускали?просто что-то не то он делает. в плане скриншотов.
скрипт не переходит по вкладкам

Отправлено: 12:04, 13-03-2014 | #9


Ветеран


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

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


Цитата upward:
Iska, а вы его запускали? »
Угу. Вот примерный результат:

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

Цитата upward:
просто что-то не то он делает. в плане скриншотов. »
Среда исполнения: Windows XP SP3, Microsoft Office 2003.

Цитата upward:
скрипт не переходит по вкладкам »
Скрипт и не «ходит по вкладкам». Каждый раз открывается окно свойств системы с заданной вкладкой:
Код: Выделить весь код
"%SystemRoot%\System32\rundll32.exe" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,0
"%SystemRoot%\System32\rundll32.exe" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,1
"%SystemRoot%\System32\rundll32.exe" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,2
"%SystemRoot%\System32\rundll32.exe" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,3
"%SystemRoot%\System32\rundll32.exe" SHELL32.DLL,Control_RunDLL SYSDM.cpl,@0,4
после отсылки «Alt-PrintScreen» и паузы процесс принудительно «снимается».

Отправлено: 12:35, 13-03-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2007 - [решено] Word вставка одного текста вместо другого 3DpacTe Microsoft Office (Word, Excel, Outlook и т.д.) 5 11-05-2012 14:36
2010 - Вставка диаграммы Excel из Word в Publisher Drec555 Microsoft Office (Word, Excel, Outlook и т.д.) 0 06-06-2011 18:15
VBS/WSH/JS - [решено] Удаление/вставка строк в Word AlexVong Скриптовые языки администрирования Windows 3 03-05-2011 17:20
Вставка данных в документ word zvezda_t Вебмастеру 6 12-10-2010 14:03
2010 - Вставка и перемещение изображений в Word 2010 OSZone Microsoft Office (Word, Excel, Outlook и т.д.) 0 31-03-2010 02:30




 
Переход