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

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

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

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


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

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


Изменения
Автор: Chestnut
Дата: 04-07-2012
Здравствуйте! Интересует есть ли такая возможность - создать документ ворд сразу с определённым названием, а не по умолчанию? По роду деятельности приходится часто создавать и постоянно переименовывать документ, а после правки и загрузки на определённый ресурс сразу удалять и так по кругу . Хотелось бы "упростить себе жизнь" немного...Речь идёт о создании документа с моим названием максимально быстро - через контекстное меню например. Так же уточню, надо чтоб документ с "моим названием" создавался в строго определённой папке. Я пытался мутить с шаблоном и прописывать в его свойствах название нужное,но каждый раз приходится тыкать на этот шаблон...потом он спрашивает про название.... место сохранение файла. Это всё очень долго(файлов то сотни),хотелось бы свести всё к одному клику(я про создание дока с нужным названием).

P.S. Вот например как бы сделать следующим образом - пара шаблонов - строго прописать в них названия, путь сохранения. Вывести типа ярлычков этих шаблонов на панель браузера. Кликнул по такому ярлычку - вставил чего нужно и при закрытии он бы не спрашивал как называть и куда сохранять,а делал это автоматом. Подскажите пожалуйста.

Отправлено: 12:33, 04-07-2012

 

Ветеран


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

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


Цитата Chestnut:
активно окно браузера к примеру(или любое другое приложение) и чтобы после запуска скрипта на создание шаблона документа этот созданный документ открывался поверх активного окна приложения. А то он(документ) появляется у меня в свёрнутом виде в диспетчере задач и по нему надо кликать,вот этот клик и хотелось бы исключить... »
Как Вы тогда запускаете скрипт при активном окне браузера?

Отправлено: 01:11, 15-10-2012 | #11



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

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


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


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

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


Цитата Iska:
Как Вы тогда запускаете скрипт при активном окне браузера? »
Горячей клавишей с клавиатуры( привязал запуск скрипта в программе Comfort Keys).

Отправлено: 11:54, 15-10-2012 | #12


Ветеран


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

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


Цитата Chestnut:
Горячей клавишей с клавиатуры( привязал запуск скрипта в программе Comfort Keys). »
Покажите скриншотами, как Вы сие сделали.

Отправлено: 19:04, 15-10-2012 | #13


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


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

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


Вот, пожалуйста


Отправлено: 20:13, 15-10-2012 | #14


Ветеран


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

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


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 и вставьте результат из буфера обмена сюда, обрамив его тэгом [code].

Цитата Chestnut:
И ещё можно ли так, чтоб после копирования при закрытии документа не выводило окна с вопросом да\нет, а сохраняло и закрывало сразу? »
Какого копирования?

Последний раз редактировалось Iska, 16-10-2012 в 04:58. Причина: Исправил «strTemplateName» и «strDocumentName»

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

Отправлено: 22:26, 15-10-2012 | #15


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


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

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


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

Цитата Iska:
Какого копирования? »
после редактирования(вставки инфы и закрытия).

Отправлено: 03:29, 16-10-2012 | #16


Ветеран


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

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


Chestnut, в предыдущем коде по недосмотру я оставил после отладки не те значения «strTemplateName» и «strDocumentName», что использовались в примерах ранее. Я поправил код.

Цитата Chestnut:
Не помог к сожалению предложенный вами вариант. »
Читайте, что было написано дальше:
Цитата Iska:
Если не сработает — раскомментируйте:
Код: Выделить весь код
'MsgBox strDocumentName & " - " & .Name
запустите скрипт, дождитесь появления окна сообщения, нажмите в нём Ctrl-C и вставьте результат из буфера обмена сюда, обрамив его тэгом [code]. »
Жду результата.

Цитата Chestnut:
после редактирования(вставки инфы и закрытия). »
Ясно. Вставьте в модуль ThisDocument шаблона документа (именно в модуль шаблона, а не документа!) — в примерах это «My Template.dotx» — следующий код:
Код: Выделить весь код
Option Explicit

Private Sub Document_Close()
    Me.Save
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:10, 16-10-2012 | #17


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


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

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


Iska,



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

---------------------------
Windows Script Host
---------------------------
Template [c:\users\jk\appdata\roaming\microsoft\шаблоны\My Template.dotx] not found
---------------------------
ОК
---------------------------

Цитата Iska:
Ясно. Вставьте в модуль ThisDocument шаблона документа (именно в модуль шаблона, а не документа!) — в примерах это «My Template.dotx» — следующий код: »
я не создавал никаких шаблонов,а просто скопировал данный вами код, поменял нужное название и расположение папки создаваемого файла и изменил на .vbs.

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

Последний раз редактировалось Chestnut, 16-10-2012 в 20:24.


Отправлено: 17:42, 16-10-2012 | #18


Ветеран


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

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


Цитата Chestnut:
как его обрамлять - не понял »
Здесь: [code] — написано.


Цитата Chestnut:
вот что пишет скрипт »
А что Вы тогда раньше указывали в качестве шаблона:
Код: Выделить весь код
strTemplateName = "My Template.dotx"
? Раньше ж работало у Вас?

Отправлено: 18:19, 17-10-2012 | #19


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


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

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


Цитата Iska:
А что Вы тогда раньше указывали в качестве шаблона:
Код:
strTemplateName = "My Template.dotx"
? Раньше ж работало у Вас? »
Там я указал название документа(в обоих строчках одинаковое). И сейчас работает по-прежнему, то есть документ создаётся нормально, я наверное просто неправильно имя папки задал,когда копировал последний ваш код,потом поправил. Но документ открывается всё так же - "сзади" активного окна((

вот так у меня сейчас:
читать дальше »
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 »
а это я не понял,что имелось ввиду и каким образом) ,скрипт то у меня срабатывает

Последний раз редактировалось Chestnut, 17-10-2012 в 21:37.


Отправлено: 21:25, 17-10-2012 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - Создание, сохранение и открытие документа в Word 2010 OSZone Microsoft Office (Word, Excel, Outlook и т.д.) 11 13-05-2014 11:26
2007 - Word 2007. Процесс "Форматирование" при открытии документа Farxat Microsoft Office (Word, Excel, Outlook и т.д.) 3 01-07-2010 18:57
2007 - [решено] Microsoft Word 2007 Форматирование и разметка в любом месте как у всего документа Streamnewal Microsoft Office (Word, Excel, Outlook и т.д.) 9 26-04-2010 22:39
2003/XP/2000 - Word | Открытие документа Word в режиме чтения Qwe1 Microsoft Office (Word, Excel, Outlook и т.д.) 4 24-02-2010 16:41
создание нового документа MS Word Nodir Bek Microsoft Windows 95/98/Me (архив) 2 13-02-2004 10:45




 
Переход