Тема: Сохранение файла в определенную папку
Добрый день!
подскажите как сохранять файл в определенную папку, при этом имя файла вводить самому
спасибо
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день!
подскажите как сохранять файл в определенную папку, при этом имя файла вводить самому
спасибо
нужен макрос
нужен макрос
Например, это можно сделать можно с помощью VBA-кода, приведенного ниже.
Стартовый макрос - SDDF1, в нем можно указать фиксированный путь к целевой папке.
Если таких папок несколько, то можно создать необходимое число макросов SDDFN, со своими настройками для папок. Потом для макросов SDDFN можно создать горячие клавиши, либо вынести иконки для их запуска на QAT.
'------------------------------------------------------------------------------------------------------
Sub SaveDocumentToDefinedFolder(folderpath As String)
Dim docname As String
Dim saveerr As Long
'Запрос имени документа
docname = InputBox("Укажите имя файла", "Сохранение документа с заданным именем")
If Trim$(docname) <> "" Then
ChangeFileOpenDirectory folderpath & "\"
saveerr = 0
On Error Resume Next
'Параметры сохранения можно изменить
ActiveDocument.SaveAs2 FileName:=docname & ".docx", FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=14
saveerr = err.Number
On Error GoTo 0
If saveerr <> 0 Then
MsgBox "Не удалось сохранить файл" & vbCrLf & _
folderpath & "\" & docname & _
"Код ошибки = " & CStr(saveerr)
End If
End If
End Sub
Sub SDDF1()
SaveDocumentToDefinedFolder "C:\Temp"
End Sub
спасибо работает, а как реализовать через стандартную форму ?
всем доброе утро!
подскажите макросы включены а код пишет что макрос не найден. Возможно он отключен по соображениям безопасности. мне нужно сохранить этот код в виде надстройки, шаблона dotm?
всем доброе утро!
подскажите макросы включены а код пишет что макрос не найден. Возможно он отключен по соображениям безопасности. мне нужно сохранить этот код в виде надстройки, шаблона dotm?
Попробуйте добавить дополнительный шаблон:
http://wordexpert.ru/forum/viewtopic.php?id=2690
спасибо работает, а как реализовать через стандартную форму ?
Я не знаю, насколько глубоко вы собираетесь прорабатывать эту задачу, но прежде всего необходим список минимальных требований и вытекающий из них план разработки. Я придерживался бы следующего плана (сам код писать не буду ввиду нехватки времени):
1. В редакторе интерфейса (VBE) я создал бы пользовательскую форму (с именем объекта, напр., frmSaveToFolder).
2. На форме разместил бы управляющие элементы: поле ввода имени документа (txtDocName), поле со списком для хранения путей к целевым папкам (cmbFoldersList) и командную кнопку сохранения текущего документа с заданными на форме параметрами (cmdSaveDocument).
3. Все добавляемые в поле cmbFoldersList новые значения путей к папкам я бы сохранял во внешнем ini-файле, а при открытии формы заполнял бы список поля ранее сохраненными в ini-файле значениями. Пользователь мог бы как добавлять в поле cmbFoldersList новые значения, так и выбирать их из списка; самые последние добавленные или выбранные значения располагались бы в начале списка.
4. Перед сохранением поля пользователь указывает наименование документа и путь к целевой папке (по умолчанию в поле пути к папке должен быть отображен последний использованный путь).
5. По щелчку на кнопке cmdSaveDocument вызывалась бы ранее представленная мной процедура SaveDocumentToDefinedFolder с параметром, отвечающим содержимому поля cmbFoldersList. При этом в тексте процедуры необходимо заменить оператор "docname = InputBox ... " оператором docname = txtDocName.Value. Возможно, стоит добавить перед сохранением проверку того, существует ли уже целевой файл (если недопустимо сохранение с перезаписью файла).
Удачи в VBA-разработке!
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться