Благодаря помощи @ArcherBird и @ CDP1802, пожалуйста, смотрите ниже рабочее решение. Я добавил некоторые детали, чтобы любой, как я, новичок в кодировании, мог видеть, что я сделал и что он должен делать.
Sub CreateShortcut()
Dim sShortcutLocation As String
Dim strQOFolder As String
sShortcutLocation = Range("C51") & "\" & CleanName(Range("C37")) & "\" & "Commercial" & "\" & Range("C39") & "\" & CleanName(Range("C32")) & ".lnk"
'this is the place the shortcut should be saved, with an extra level and the shortcut name i.e. to force it to save in that folder and not in the same place as that folder.
strQOFolder = Range("C50") & "\" & CleanName(Range("C32"))
'this is the link to where the shortcut will link to
With CreateObject("Wscript.Shell").CreateShortcut(sShortcutLocation)
'this is creating the shortcut and the file name using the criteria set out in sShortcutLocation
.TargetPath = strQOFolder
'this is setting the path for where the shortcut links to
.Save 'saves the shortcut
End With
End Sub
Часть CleanName удаляет все символы, не разрешенные в пути. Код для этого ниже, это не мое собственное, нашел это здесь: -
Function CleanName(strName As String) As String
'will clean part # name so it can be made into valid folder name
'may need to add more lines to get rid of other characters
CleanName = Replace(strName, "/", "")
CleanName = Replace(CleanName, "*", "")
End Function
Следующим шагом будет добавление в окне сообщения об ошибке. :-) Спасибо.