У меня есть простая форма (из шаблона) в Word 2013 и кнопка "Отправить", которая позволяет:
1. Собрать информацию из полей документа, назвать документ и сохранить как.
2. Отправить по электронной почте форма для предварительно заданных адресов электронной почты.
Несколько человек откроют документ из шаблона
Private Sub CommandButton21_Click()
Dim OL As Object
Dim EmailItem As Object
Dim Doc As Document
Dim strTagNum As String, strNTID As String, strDate As String
strTagNum = ActiveDocument.SelectContentControlsByTitle("TagNum")(1).Range.Text
strNTID = ActiveDocument.SelectContentControlsByTitle("NTID")(1).Range.Text
strDate = ActiveDocument.SelectContentControlsByTitle("Date")(1).Range.Text
Dim strFilename As String
strFilename = strTagNum & "_" & strNTID & "_" & Format(strDate, "ddmmyyyy") & ".docx"
StrPath = "V:\OPS\Central\Shared\ARM\ALERT"
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Set Doc = ActiveDocument
Doc.SaveAs2 strFilename
With EmailItem
.Subject = "CGF ARM - ALERT ADD/DROP/CHANGE"
.Body = "Please Review this Alert for Continuous Improvement"
.To = "[email protected]"
.Importance = olImportanceNormal
.Attachments.Add Doc.FullName
.Send
End With
Application.ScreenUpdating = True
MsgBox "Alert Record Submitted"
Set Doc = Nothing
Set OL = Nothing
Set EmailItem = Nothing
End Sub
(Кредит Нила Малека на knacktraining.com)
и эта тема
Макрос Microsoft Word 2013 сохранить имя файла из содержимого формы
Мои вопросы:
1. Как мне указать путь к файлу для сохранения как? У меня есть код в макросе, но документ сохраняется в папке «Документы» отдельных пользователей.
- Как сообщить макросу, чтобы он извлек имя пользователя из формы и отправил его на адрес «username»@example.com?
Остальная часть макроса работает, когда нажимается кнопка «Отправить», документ переименовывается, сохраняется и отправляется по электронной почте на заранее заданные адреса электронной почты.
Я обновил это из исходного вопроса, я смог ответить на некоторые из моих предыдущих вопросов методом проб и ошибок.
Спасибо за уделенное время.
Doc.SaveAs2 StrPath & "\" & strFilename
. Лучше заранее проверить, существует ли папка StrPath. Также рассмотрите несколько путей UNC вместоV:
, таких как\\FileServerNAS\Documents\
или\\YourWorkDomain.com\DFSroot\Site\Documents\
. Либо добавьте CustomDocumentProperties, чтобы сохранить этот путь. - person PatricK   schedule 16.02.2017