2007 - [Word 2007]Создание документа с определённым названием?

Ответить
 • Просмотры: 1
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Цитата Chestnut:



активно окно браузера к примеру(или любое другое приложение) и чтобы после запуска скрипта на создание шаблона документа этот созданный документ открывался поверх активного окна приложения. А то он(документ) появляется у меня в свёрнутом виде в диспетчере задач и по нему надо кликать,вот этот клик и хотелось бы исключить...
2007 - [Word 2007]Создание документа с определённым названием?




Как Вы тогда запускаете скрипт при активном окне браузера?
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Цитата Iska:



Как Вы тогда запускаете скрипт при активном окне браузера?
2007 - [Word 2007]Создание документа с определённым названием?




Горячей клавишей с клавиатуры( привязал запуск скрипта в программе Comfort Keys).
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Цитата Chestnut:



Горячей клавишей с клавиатуры( привязал запуск скрипта в программе Comfort Keys).
2007 - [Word 2007]Создание документа с определённым названием?




Покажите скриншотами, как Вы сие сделали.
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Chestnut, у меня окно Word'а с созданным документом и так становится активным.



Давайте попробуем так:


читать дальше »




Код:

Код: Выделить всё

Option Explicit
Const wdUserTemplatesPath = 2
Const wdDoNotSaveChanges  = 0
Dim objFSO
Dim objWshShell
Dim objWord
Dim strTemplateName
Dim strDocumentName
Dim strPath2Save
Dim strPath2Template
Dim strPath2File
Dim objTask

Set objFSO      = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWord     = WScript.CreateObject("Word.Application")
strTemplateName = "My Template.dotx"
strDocumentName = "Документы.docx"
strPath2Save    = objFSO.BuildPath(objWshShell.SpecialFolders("Desktop"), "Docs")
With objWord
	strPath2Template = objFSO.BuildPath(.Options.DefaultFilePath(wdUserTemplatesPath), strTemplateName)
	If objFSO.FileExists(strPath2Template) Then
		If objFSO.FolderExists(strPath2Save) Then
			strPath2File = objFSO.BuildPath(strPath2Save, strDocumentName)
			With .Documents.Add(strPath2Template)
				If objFSO.FileExists(strPath2File) Then
					objFSO.DeleteFile strPath2File, True
				End If
				.SaveAs strPath2File
				.Close wdDoNotSaveChanges
			End With
			.Documents.Open strPath2File
			.Visible = True
			For Each objTask In .Tasks
				If objTask.Name = strDocumentName & " - " & .Name Then
					objTask.Activate
				End If
			Next
			
			'MsgBox strDocumentName & " - " & .Name
		Else
			WScript.Echo "Folder [" & strPath2Save & "] not found"
			.Quit
		End If
	Else
		WScript.Echo "Template [" & strPath2Template & "] not found"
		.Quit
	End If
End With
Set objWord     = Nothing
Set objWshShell = Nothing
Set objFSO      = Nothing
WScript.Quit 0





Если не сработает — раскомментируйте:



Код:

Код: Выделить всё

'MsgBox strDocumentName & " - " & .Name

запустите скрипт, дождитесь появления окна сообщения, нажмите в нём Ctrl-C и вставьте результат из буфера обмена сюда, обрамив его тэгом

Код: Выделить всё

[/url].




				Цитата [b]Chestnut[/b]:
	
	
		
				И ещё можно ли так, чтоб после копирования при закрытии документа не выводило окна с вопросом да\нет, а сохраняло и закрывало сразу? [url=viewtopic.php?p=237556#p237556]»[/url]
		
	
	
Какого копирования?
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Цитата Iska:



Давайте попробуем так:
2007 - [Word 2007]Создание документа с определённым названием?




Не помог к сожалению предложенный вами вариант. Скрип срабатывает, но документ им создаваемый всё равно на заднем плане открывается - за активным окном браузера, то есть документ не в свёрнутом виде создаётся , я неправильно описал изначально - он не замещает собой уже активное окно как бы)). Документы без шаблона открываются как и положено "поверху".




Цитата Iska:



Какого копирования?
2007 - [Word 2007]Создание документа с определённым названием?




после редактирования(вставки инфы и закрытия).
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Chestnut, в
2007 - [Word 2007]Создание документа с определённым названием?
по недосмотру я оставил после отладки не те значения «strTemplateName» и «strDocumentName», что использовались в примерах ранее. Я поправил код.





Цитата Chestnut:



Не помог к сожалению предложенный вами вариант.
2007 - [Word 2007]Создание документа с определённым названием?




Читайте, что было написано дальше:


Цитата Iska:



Если не сработает — раскомментируйте:



Код:

Код: Выделить всё

'MsgBox strDocumentName & " - " & .Name

запустите скрипт, дождитесь появления окна сообщения, нажмите в нём Ctrl-C и вставьте результат из буфера обмена сюда, обрамив его тэгом

Код: Выделить всё

[/url]. [url=viewtopic.php?p=237563#p237563]»[/url]
		
	
	
Жду результата.




				Цитата [b]Chestnut[/b]:
	
	
		
				после редактирования(вставки инфы и закрытия). [url=viewtopic.php?p=237564#p237564]»[/url]
		
	
	
Ясно. Вставьте в модуль [b]ThisDocument[/b] шаблона документа (именно в модуль шаблона, а не документа!) — в примерах это «My Template.dotx» — следующий код:


 
 Код: [url=#][/url]
 [code]Option Explicit
Private Sub Document_Close()
    Me.Save
End Sub
Аватара пользователя
Iska

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Iska »

Iska,







вот что пишет скрипт,как его обрамлять - не понял,да и думаю этот не тот случай



---------------------------

Windows Script Host

---------------------------

Template [c:\users\jk\appdata\roaming\microsoft\шаблоны\My Template.dotx] not found

---------------------------

ОК

---------------------------




Цитата Iska:



Ясно. Вставьте в модуль ThisDocument шаблона документа (именно в модуль шаблона, а не документа!) — в примерах это «My Template.dotx» — следующий код:
2007 - [Word 2007]Создание документа с определённым названием?




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



в общем я перестал понимать)), увы. Ладно, итак всё хорошо. Спасибо большое.
Аватара пользователя
Chestnut

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Chestnut »

Цитата Chestnut:



как его обрамлять - не понял
2007 - [Word 2007]Создание документа с определённым названием?




Здесь:

Код: Выделить всё

[/url] — написано.




				Цитата [b]Chestnut[/b]:
	
	
		
				вот что пишет скрипт [url=viewtopic.php?p=237566#p237566]»[/url]
		
	
	
А что Вы тогда раньше указывали в качестве шаблона:


 
 Код: [url=#][/url]
 [code]strTemplateName = "My Template.dotx"

? Раньше ж работало у Вас?
Аватара пользователя
Iska

Re: 2007 - [Word 2007]Создание документа с определённым названием?

Сообщение Iska »

Цитата Iska:



А что Вы тогда раньше указывали в качестве шаблона:

Код:

strTemplateName = "My Template.dotx"

? Раньше ж работало у Вас?
2007 - [Word 2007]Создание документа с определённым названием?




Там я указал название документа(в обоих строчках одинаковое). И сейчас работает по-прежнему, то есть документ создаётся нормально, я наверное просто неправильно имя папки задал,когда копировал последний ваш код,потом поправил. Но документ открывается всё так же - "сзади" активного окна((



вот так у меня сейчас:


читать дальше »


Dim strTemplateName

Dim strDocumentName

Dim strPath2Save



Dim strPath2Template

Dim strPath2File



Dim objTask





Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set objWshShell = WScript.CreateObject("WScript.Shell")

Set objWord = WScript.CreateObject("Word.Application")



strTemplateName = "Извещение.dotx"

strDocumentName = "Извещение.docx"

strPath2Save = objFSO.BuildPath(objWshShell.SpecialFolders("Desktop"), "Documents")



With objWord

strPath2Template = objFSO.BuildPath(.Options.DefaultFilePath(wdUserTemplatesPath), strTemplateName)



If objFSO.FileExists(strPath2Template) Then

If objFSO.FolderExists(strPath2Save) Then

strPath2File = objFSO.BuildPath(strPath2Save, strDocumentName)



With .Documents.Add(strPath2Template)

If objFSO.FileExists(strPath2File) Then

objFSO.DeleteFile strPath2File, True

End If



.SaveAs strPath2File

.Close wdDoNotSaveChanges

End With



.Documents.Open strPath2File

.Visible = True



For Each objTask In .Tasks

If objTask.Name = strDocumentName & " - " & .Name Then

objTask.Activate

End If

Next



'MsgBox strDocumentName & " - " & .Name

Else

WScript.Echo "Folder [" & strPath2Save & "] not found"

.Quit

End If

Else

WScript.Echo "Template [" & strPath2Template & "] not found"

.Quit

End If

End With



Set objWord = Nothing

Set objWshShell = Nothing

Set objFSO = Nothing



WScript.Quit 0








Цитата Iska:



Если не сработает — раскомментируйте:

Код:

'MsgBox strDocumentName & " - " & .Name
2007 - [Word 2007]Создание документа с определённым названием?




а это я не понял,что имелось ввиду и каким образом) ,скрипт то у меня срабатывает
Ответить

Вернуться в «Microsoft Office (Word, Excel, Outlook и т.д.)»