Turn off read only attribute on shortcut

  • Thread starter Thread starter Michelle
  • Start date Start date
M

Michelle

I'm trying to delete a shortcut off the users desktop programmatically. Here
is the code I have for checking if the file exists and deleting it.
Unfortunately I can't delete it because its read only! Please help!

Function SeeIfShortcutExists()
Dim WSHShell As Object
Dim MyShortcut As Object
Dim DesktopPath As String
Dim blnFile As Boolean
Set WSHShell = CreateObject("WScript.Shell")
DesktopPath = WSHShell.SpecialFolders("Desktop")
Set MyShortcut = WSHShell.CreateShortcut(DesktopPath & "\" &
"Consolidated - Approve" & ".lnk")

blnFile = Len(Dir(MyShortcut))
End With

MsgBox blnFile

If blnFile = True Then
Kill (DesktopPath & "\" & "Consolidated - Approve" & ".lnk")
End If


End Function
 
Maybe...

Option Explicit
Function DeleteAndRecreateShortcut()

Dim WSHShell As Object
Dim MyShortCut As Object
Dim DesktopPath As String
Dim myFileName As String
Dim TestStr As String

Set WSHShell = CreateObject("WScript.Shell")
DesktopPath = WSHShell.SpecialFolders("Desktop")
myFileName = DesktopPath & "\" & "Consolidated - Approve" & ".lnk"

TestStr = ""
On Error Resume Next
TestStr = Dir(myFileName)
On Error GoTo 0

If TestStr = "" Then
'doesn't exist
Else
'won't hurt if it's not readonly, either.
SetAttr pathname:=myFileName, attributes:=vbNormal
Kill pathname:=myFileName
End If

Set MyShortCut = WSHShell.CreateShortcut(myFileName)
With MyShortCut
.Description = "Consolidated" & vbCrLf & "Approved"
.TargetPath = ActiveWorkbook.FullName
'.IconLocation = "x:\somepathtoanicon\someicon.ico"
.Save
End With

'mark it readonly?
SetAttr pathname:=myFileName, attributes:=vbReadOnly

End Function
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top