Это должно работать:
Dim templatePath As String
templatePath = "C:\Users\My_Username\Desktop\My_Folder\RequestTemplate.xlsx"
Shell ("""C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE"" """ & templatePath & """"), vbNormalFocus
Если ваш шаблон находится в Application.TemplatesPath
, и вы просто хотите указать файл name , используйте:
templatePath = Application.TemplatesPath & "RequestTemplate.xlsx"
Более регулируемая версия:
Dim templatePath As String
Dim programPath As String
Dim templateName As String
templateName = "RequestTemplate.xlsx"
templatePath = Application.TemplatesPath
programPath = "C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE"
Shell ("""" & programPath & """" & " " & """" & templatePath & templateName & """"), vbNormalFocus