ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete Shortcut with Code (https://www.excelbanter.com/excel-programming/294495-delete-shortcut-code.html)

zSplash

Delete Shortcut with Code
 
I am trying to delete all shortcuts that have "log" in them on the desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete them. Using
this syntax, even if I put the exact name of the known-to-exist shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any suggestions, guys?

TIA



Bob Phillips[_6_]

Delete Shortcut with Code
 
I am not surprised that the *log* didn't work, but the full form worked for
me. I had to change username to my name, and I used PINS2.lnk, and it went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on the desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete them. Using
this syntax, even if I put the exact name of the known-to-exist shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any suggestions, guys?

TIA





zSplash

Delete Shortcut with Code
 
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to "wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in message
...
I am not surprised that the *log* didn't work, but the full form worked

for
me. I had to change username to my name, and I used PINS2.lnk, and it went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on the

desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete them.

Using
this syntax, even if I put the exact name of the known-to-exist shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any suggestions,

guys?

TIA







Bob Phillips[_6_]

Delete Shortcut with Code
 
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to

"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in message
...
I am not surprised that the *log* didn't work, but the full form worked

for
me. I had to change username to my name, and I used PINS2.lnk, and it

went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on the

desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete them.

Using
this syntax, even if I put the exact name of the known-to-exist

shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any suggestions,

guys?

TIA









zSplash

Delete Shortcut with Code
 
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your kindness. I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to

"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in message
...
I am not surprised that the *log* didn't work, but the full form

worked
for
me. I had to change username to my name, and I used PINS2.lnk, and it

went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on the

desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete them.

Using
this syntax, even if I put the exact name of the known-to-exist

shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any suggestions,

guys?

TIA











Bob Phillips[_6_]

Delete Shortcut with Code
 
Great, and thanks for the feedback.

I forgot about the log bit in the filename in the exchanges, sorry about
that, but you obviously had no problem with it.

Keep smiling!

Bob

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your kindness. I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and

Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to

"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in message
...
I am not surprised that the *log* didn't work, but the full form

worked
for
me. I had to change username to my name, and I used PINS2.lnk, and

it
went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on the
desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete

them.
Using
this syntax, even if I put the exact name of the known-to-exist

shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any

suggestions,
guys?

TIA













zSplash

Delete Shortcut with Code
 
Rats, Bob. I smiled too soon. I just assumed that the code:
UCase(InStr(1, oFile.Name, "LOG"))
would return with a positional value if the shortcut existed, but even
shortcuts
I know to exist (i.e., "MYLOG") are coming back with a 0 value; hence, they
are not being killed.

st.

"Bob Phillips" wrote in message
...
Great, and thanks for the feedback.

I forgot about the log bit in the filename in the exchanges, sorry about
that, but you obviously had no problem with it.

Keep smiling!

Bob

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your kindness.

I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and

Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to
"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in message
...
I am not surprised that the *log* didn't work, but the full form

worked
for
me. I had to change username to my name, and I used PINS2.lnk, and

it
went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on

the
desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete

them.
Using
this syntax, even if I put the exact name of the known-to-exist
shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any

suggestions,
guys?

TIA















zSplash

Delete Shortcut with Code
 
HOLD EVERYTHING, Bob!! You are really right! I'm a numbskull!!

Ucase has to be around oFile.Name, not around the function that returns a
position/integer.
UCase(InStr(1, UCase(oFile.Name), "LOG")
You really deserve even more gratitude, for my stupidity. Thanks ever so
much! (the smile's covering the whole face, now...)

st.

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Rats, Bob. I smiled too soon. I just assumed that the code:
UCase(InStr(1, oFile.Name, "LOG"))
would return with a positional value if the shortcut existed, but even
shortcuts
I know to exist (i.e., "MYLOG") are coming back with a 0 value; hence,

they
are not being killed.

st.

"Bob Phillips" wrote in message
...
Great, and thanks for the feedback.

I forgot about the log bit in the filename in the exchanges, sorry about
that, but you obviously had no problem with it.

Keep smiling!

Bob

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your kindness.

I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but

this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and

Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to
"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in

message
...
I am not surprised that the *log* didn't work, but the full form
worked
for
me. I had to change username to my name, and I used PINS2.lnk,

and
it
went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on

the
desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete

them.
Using
this syntax, even if I put the exact name of the

known-to-exist
shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any

suggestions,
guys?

TIA

















Bob Phillips[_6_]

Delete Shortcut with Code
 
Sorry, in your last post I read what you said but only superficially looked
at your code, otherwise I would have seen the flaw.

Change

If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then

to

If InStr(1, UCase(oFile.Name), "LOG") < 0 Then

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Rats, Bob. I smiled too soon. I just assumed that the code:
UCase(InStr(1, oFile.Name, "LOG"))
would return with a positional value if the shortcut existed, but even
shortcuts
I know to exist (i.e., "MYLOG") are coming back with a 0 value; hence,

they
are not being killed.

st.

"Bob Phillips" wrote in message
...
Great, and thanks for the feedback.

I forgot about the log bit in the filename in the exchanges, sorry about
that, but you obviously had no problem with it.

Keep smiling!

Bob

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your kindness.

I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but

this
seemed to return the shortcut target rather than the shortcut. So I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and

Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way to
"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in

message
...
I am not surprised that the *log* didn't work, but the full form
worked
for
me. I had to change username to my name, and I used PINS2.lnk,

and
it
went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them on

the
desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't delete

them.
Using
this syntax, even if I put the exact name of the

known-to-exist
shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any

suggestions,
guys?

TIA

















Tom Ogilvy

Delete Shortcut with Code
 
If InStr(1, oFile.Name, "LOG", vbTextCompare) < 0 Then

would probably be better.

--
Regards,
Tom Ogilvy



"Bob Phillips" wrote in message
...
Sorry, in your last post I read what you said but only superficially

looked
at your code, otherwise I would have seen the flaw.

Change

If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then

to

If InStr(1, UCase(oFile.Name), "LOG") < 0 Then

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Rats, Bob. I smiled too soon. I just assumed that the code:
UCase(InStr(1, oFile.Name, "LOG"))
would return with a positional value if the shortcut existed, but even
shortcuts
I know to exist (i.e., "MYLOG") are coming back with a 0 value; hence,

they
are not being killed.

st.

"Bob Phillips" wrote in message
...
Great, and thanks for the feedback.

I forgot about the log bit in the filename in the exchanges, sorry

about
that, but you obviously had no problem with it.

Keep smiling!

Bob

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Bob! You are wonderful!! I used your code, adding the following to
"wildcard it". It works great. Many, many thanks for your

kindness.
I'm
smiling again, thanks to you...

... If UCase(InStr(1, oFile.Name, "LOG")) < 0 Then
Kill oFile.Path
End If ...

st.

"Bob Phillips" wrote in message
...
Indeed I am.

IU did think of uysing FileSearch which can handle wildcards, but

this
seemed to return the shortcut target rather than the shortcut. So

I
developed this bit of code to do it

Dim oFSO As Object
Dim oFolder As Object
Dim oSubfolder As Object
Dim oFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\Documents and
Settings\Bob\Desktop\")
For Each oFile In oFolder.Files
If oFile.Type = "Shortcut" Then
kill ofile.path
End If
Next
End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
Thanks, Bob.

So, are you thinking that wildcards won't work? Any other way

to
"wildcard"
the name (in case it's close, but not exact)?

st.

"Bob Phillips" wrote in

message
...
I am not surprised that the *log* didn't work, but the full

form
worked
for
me. I had to change username to my name, and I used PINS2.lnk,

and
it
went
fine.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"zSplash" <zNOSPAMSplash@ gci.net wrote in message
...
I am trying to delete all shortcuts that have "log" in them

on
the
desktop
(Win2k). I have unsuccessfully tried the following code:

Kill "C:\Documents and Settings\username\Desktop\*log*.lnk"

I know these shortcuts exist, and my code simply won't

delete
them.
Using
this syntax, even if I put the exact name of the

known-to-exist
shortcut
(i.e., "Mylog.lnk"), the code does not delete it. Any
suggestions,
guys?

TIA




















All times are GMT +1. The time now is 10:11 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com