Ronaldo Costa 3/5/2022, 01:40
Funcionou perfeitamente.
Apenas fiz uma alteração (linha vermelha) e criei um módulo. Transformei a sub em função para que possa usar em mais de um formulário.
Muito grato!!!!!
----------------------------------------------
Public Sub subCriaAtalho()
'Autor: Marcelo David
'Data: 04/08/2020
'Propósito: criar ícone do aplicativo na área de trabalho do usuário ao executar o programa
Dim wsc As Object
Dim lnk
Dim strPathDesktop As String, strPasta As String
On Error GoTo TrataErro
'Instancio o Windows Scripting Host
Set wsc = CreateObject("wscript.shell")
'Obtendo o path do desktop do usuário atual
strPathDesktop = wsc.SpecialFolders("Desktop")
strPasta = CurrentProject.Path & "\Boletins"
'Instanciando um objeto do tipo atalho (lnk) e já definindo o desktop do usuário atual
Set lnk = wsc.CreateShortcut(strPathDesktop & "\" & Split(strPasta, "\")(UBound(Split(strPasta, "\"))) & ".lnk")
'Verificando se já existe atalho e caso sim, apaga para criar o novo
If Dir(strPathDesktop & "\" & Split(strPasta, "\")(UBound(Split(strPasta, "\"))) & ".lnk") <> "" Then
Kill strPathDesktop & "\" & Split(strPasta, "\")(UBound(Split(strPasta, "\"))) & ".lnk"
End If
'Difinindo o aplicativo a ser executado ao clicar no link
lnk.TargetPath = strPasta
'Definindo a propriedade de "Iniciar em" do atalho (diretório de trabalho)
lnk.WorkingDirectory = strPasta
'Salvando o link
lnk.Save
'Apagando da memória o objeto Windows Scripting Host e o link
Set lnk = Nothing 'Nem precisava apagar esse, já que é filho de wsc, mas para manter o bom hábito de apagar variávais de objetos
Set wsc = Nothing
Exit Sub
TrataErro:
MsgBox Err.Description, vbExclamation, "Erro " & Err.Number & " ao criar atalho"
End Sub