Вот мой сценарий: Пользователь сглаживает документ Word, у меня есть кнопка на панели быстрого доступа, которая выполняет макрос, который использует оболочку Execute для запуска передачи приложения это параметр.Как получить имя документа из документа слияния Word после слияния в VBA
Это работает, однако мне нужно указать имя документа Word. Когда я запрашиваю активный документ, он называется «Form Letters».
Есть ли способ получить имя документа Word (шаблон) в коде VBA после слияния документа? Я знаю, что Word меняет имя после слияния, мне нужно имя документа Word, содержащее поля слияния.
Const SW_SHOW = 1
Const SW_SHOWMAXIMIZED = 3
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (_
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub RunYourProgram()
l = Len(ActiveDocument)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' The line below retrieves name, "FORM LETTER"(strips off .doc)
' rather than name of Word document template
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Doc_Name = Mid(ActiveDocument, 1, l - 4)
Dim RetVal As Long
On Error Resume Next
RetVal = ShellExecute(0, "open", "M:\gendoc\FG_To_ECF.exe", _
Doc_Name, "c:\Certificates", SW_SHOWNORMAL)
End Sub
Спасибо. Забыли код отступа. – KentE