View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default 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