Тема: Как сделать шаблон чтобы ему присваивалось определенное имя
Всем доброго времени суток! как сделать чтобы в имени файла был не документ1 а мое заданное?? например Транспортная накладная1...
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Всем доброго времени суток! как сделать чтобы в имени файла был не документ1 а мое заданное?? например Транспортная накладная1...
Стандартно, новые документы Word создаются с именем Документ и не имеют постоянного места хранения, это временный файл и постоянным он становится либо при первом построении, либо при закрытии с запросом на сохранение. Единственное, можно написать макрос, который при открытии нового документа будет выдавать запрос на сохранение сразу, до начала работы с документом и если файл не сохранен, закрывать его.
То что хотите сделать Вы, не то чтобы хлопотно, можно написать общий макрос именования файлов, но тогда на каждое название нужен будет шаблон с именем и он должен будет храниться в общей папке с документами, чтобы можно было вычислить следующий номер нового документа.
Если документ создаётся на основе шаблона, то можно написать макрос, перехватывающий первое сохранение файла и поставляющий своё имя вместо заданного по умолчанию. Это нужно?
Так в том то и смысл, что товарищ xray26 хочет чтобы при создании нового документа хочет уже автоматически нумерованное имя создавать.
Можно глобально пропатчить слово "Документ" на "Транспортная накладная" Не знаю правда, где Word его хранит. Самому интересно, поищу...
А смысл патчить, сейчас нужна Транспортная накладная, завтра документ с другим названием. Все лень человеческая. Можно просто написать макрос автоматического номера названия документа. Уж совсем лениться не надо.
Если в шаблоне в свойстве "Название" (Title) вписать "Транспортная накладная", то при создании нового документа и нажатии кнопки "Сохранить", этот текст появится в поле "Имя файла".
Так это понятно. Только для разных типов документов придется устанавливать разные значения свойства (Title) и если в каком-то шаблоне сохраняются макросы, то отслеживать их копирование. Либо забивать Normal. Но все равно, придется создавать шаблон под каждое название. Либо писать макрос при котором будет сначала выводиться окно с выбором типа документа, а потом уже, на основе запроса открывать документ на основе выбранного шаблона.
всем спасиб за ответы уважаемые эксперты! я шаблон создал уже..вот в экселе шаблон когда создаю там при создании нового файла он правильно это делает...а вот в ворде документ1 ... в этом вопрос застрял...
Не вижу способа решить без макроса. Предлагаю такой вариант. Код поместить в модуль ThisDocument шаблона документа. Константу DOCNAME заменить требуемым значением. При сохранении файла подменяется имя в диалоге.
В данном варианте номер документа меняется всегда, но можно доработать, чтобы менялся только, если документ был сохранён.
Настройки хранятся в реестре HKEY_CURRENT_USER\Software\VB and VBA Program Settings
Option Explicit
Private Const APPNAME = "Накладные"
Private Const SECTIONNAME = "Порядковые номера"
Private Const DOCNAME = "Транспортная накладная" 'Постоянная часть имени файла
Private Const DOCNUM = "Номер документа" 'Порядковый номер
Dim DefaultDocName As String 'Полное имя документа
'Макрос при создании нового документа на основе данного шаблона
Sub AutoNew()
Dim nDocNum As Integer
nDocNum = Val(GetSetting(APPNAME, SECTIONNAME, Key:=DOCNUM))
DefaultDocName = DOCNAME & (DOCNUM + 1)
SaveSetting APPNAME, SECTIONNAME, Key:=DOCNUM, Setting:=nDocNum + 1
End Sub
'Переопределение процедуры "Сохранить"
Sub FileSave()
If ActiveDocument.FullName = ActiveDocument.Name Then
With Dialogs(wdDialogFileSaveAs)
.Name = DefaultDocName
.Show
End With
Else
ActiveDocument.Save
End If
End Sub
'Переопределение процедуры "Сохранить как..."
Sub FileSaveAs()
With Dialogs(wdDialogFileSaveAs)
.Name = DefaultDocName
.Show
End With
End Sub
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться