Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Check for valid file before hyperlinking

I'd include the path in the test and hyperlink.

Dim TestStr as string
dim myFileName as string

myfilename = "C:\somepath\crit scans\" & activecell.offset(0,2).value _
& " - " & activcell.value & ".pdf"

teststr = ""
on error resume next
teststr = dir(myfilename)
on error goto 0

if teststr = "" then
msgbox "not a valid filename"
else
'do the hyperlink
end if

This won't help if the file is renamed/deleted after the hyperlink has been
created, though.

Tommy Boy wrote:

I have the following simple code to create a hyperlink in the existing cell
that links to a PDF file on my drive. The file name it uses is based on the
text shown in 2 different cells with " - " in between the two text strings.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"Crit%20Scans/" & ActiveCell.Offset(0, 2).Value & " - " &
ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value

The problem is, if there is a typo in my cells or a file with that name
doesn't exist on the drive, the hyperlink is still created, but the link is
ultimately invalid. I have no way of knowing that it is invalid without
going back to check each link.

Is there a way that I can check to see if the pdf file exists before
creating a hyperlink. If it's not valid, it can simply move to the next cell
without creating a link; it doesn't have to be anything fancy.

I've seen "if - then" type suggestions here for various questions, however,
I'm relatively new to using VBA in Excel, so I'm not exactly sure if this
would work or how to properly insert them into a macro.

Thanks for any help!


--

Dave Peterson
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Check for valid file before hyperlinking

Hi Dave,

Thanks! I was able to get the macro below to work. I don't understand how,
or why it works, (wish I did) but it works. What's interesting though is
that I can't get it to find other file types by changing the file extension
in the code. I thought I could just change ".pdf" to ".doc" and hyperlink to
a doc file in the same directory. Is there a simple reason this doesn't work
this way?

Anyway, thanks again!!

Sub TestHyperlink()

ActiveCell.Select
Dim TestStr As String
Dim myFileName As String
myFileName = "C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf"
TestStr = ""
On Error Resume Next
TestStr = Dir(myFileName)
On Error GoTo 0
If TestStr = "" Then
MsgBox "No Matching File To Link"
Else
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value
ActiveCell.Select
With Selection.Font
.Name = "Arial"
.Size = 12
End With
ActiveCell.Offset(1, 0).Range("A1").Select
End If
End Sub






"Dave Peterson" wrote:

I'd include the path in the test and hyperlink.

Dim TestStr as string
dim myFileName as string

myfilename = "C:\somepath\crit scans\" & activecell.offset(0,2).value _
& " - " & activcell.value & ".pdf"

teststr = ""
on error resume next
teststr = dir(myfilename)
on error goto 0

if teststr = "" then
msgbox "not a valid filename"
else
'do the hyperlink
end if

This won't help if the file is renamed/deleted after the hyperlink has been
created, though.

Tommy Boy wrote:

I have the following simple code to create a hyperlink in the existing cell
that links to a PDF file on my drive. The file name it uses is based on the
text shown in 2 different cells with " - " in between the two text strings.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"Crit%20Scans/" & ActiveCell.Offset(0, 2).Value & " - " &
ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value

The problem is, if there is a typo in my cells or a file with that name
doesn't exist on the drive, the hyperlink is still created, but the link is
ultimately invalid. I have no way of knowing that it is invalid without
going back to check each link.

Is there a way that I can check to see if the pdf file exists before
creating a hyperlink. If it's not valid, it can simply move to the next cell
without creating a link; it doesn't have to be anything fancy.

I've seen "if - then" type suggestions here for various questions, however,
I'm relatively new to using VBA in Excel, so I'm not exactly sure if this
would work or how to properly insert them into a macro.

Thanks for any help!


--

Dave Peterson

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Check for valid file before hyperlinking

I would have guessed that changing the extension to .doc would be sufficient,
too.

I'm betting that there's a difference in the name of the file (small typo??)
that breaks it.

But that's just a guess. You didn't actually say that what broke--adding the
hyperlink or clicking on it????

And if I'm guessing wrong, what's the name of the .doc file? And what are the
values in those cells when you run the code?

A line like:
msgbox "***" & myfilename & "***"
may be useful to help find the problem.

Tommy Boy wrote:

Hi Dave,

Thanks! I was able to get the macro below to work. I don't understand how,
or why it works, (wish I did) but it works. What's interesting though is
that I can't get it to find other file types by changing the file extension
in the code. I thought I could just change ".pdf" to ".doc" and hyperlink to
a doc file in the same directory. Is there a simple reason this doesn't work
this way?

Anyway, thanks again!!

Sub TestHyperlink()

ActiveCell.Select
Dim TestStr As String
Dim myFileName As String
myFileName = "C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf"
TestStr = ""
On Error Resume Next
TestStr = Dir(myFileName)
On Error GoTo 0
If TestStr = "" Then
MsgBox "No Matching File To Link"
Else
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value
ActiveCell.Select
With Selection.Font
.Name = "Arial"
.Size = 12
End With
ActiveCell.Offset(1, 0).Range("A1").Select
End If
End Sub

"Dave Peterson" wrote:

I'd include the path in the test and hyperlink.

Dim TestStr as string
dim myFileName as string

myfilename = "C:\somepath\crit scans\" & activecell.offset(0,2).value _
& " - " & activcell.value & ".pdf"

teststr = ""
on error resume next
teststr = dir(myfilename)
on error goto 0

if teststr = "" then
msgbox "not a valid filename"
else
'do the hyperlink
end if

This won't help if the file is renamed/deleted after the hyperlink has been
created, though.

Tommy Boy wrote:

I have the following simple code to create a hyperlink in the existing cell
that links to a PDF file on my drive. The file name it uses is based on the
text shown in 2 different cells with " - " in between the two text strings.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"Crit%20Scans/" & ActiveCell.Offset(0, 2).Value & " - " &
ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value

The problem is, if there is a typo in my cells or a file with that name
doesn't exist on the drive, the hyperlink is still created, but the link is
ultimately invalid. I have no way of knowing that it is invalid without
going back to check each link.

Is there a way that I can check to see if the pdf file exists before
creating a hyperlink. If it's not valid, it can simply move to the next cell
without creating a link; it doesn't have to be anything fancy.

I've seen "if - then" type suggestions here for various questions, however,
I'm relatively new to using VBA in Excel, so I'm not exactly sure if this
would work or how to properly insert them into a macro.

Thanks for any help!


--

Dave Peterson


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Check for valid file before hyperlinking

Hi Dave,

It turns out I Ultimately had a typo. I was able to figure it out and get
it all to work.

Thanks for your help!!

"Dave Peterson" wrote:

I would have guessed that changing the extension to .doc would be sufficient,
too.

I'm betting that there's a difference in the name of the file (small typo??)
that breaks it.

But that's just a guess. You didn't actually say that what broke--adding the
hyperlink or clicking on it????

And if I'm guessing wrong, what's the name of the .doc file? And what are the
values in those cells when you run the code?

A line like:
msgbox "***" & myfilename & "***"
may be useful to help find the problem.

Tommy Boy wrote:

Hi Dave,

Thanks! I was able to get the macro below to work. I don't understand how,
or why it works, (wish I did) but it works. What's interesting though is
that I can't get it to find other file types by changing the file extension
in the code. I thought I could just change ".pdf" to ".doc" and hyperlink to
a doc file in the same directory. Is there a simple reason this doesn't work
this way?

Anyway, thanks again!!

Sub TestHyperlink()

ActiveCell.Select
Dim TestStr As String
Dim myFileName As String
myFileName = "C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf"
TestStr = ""
On Error Resume Next
TestStr = Dir(myFileName)
On Error GoTo 0
If TestStr = "" Then
MsgBox "No Matching File To Link"
Else
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\Folders\Crit Scans\" & ActiveCell.Offset(0, 2).Value _
& " - " & ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value
ActiveCell.Select
With Selection.Font
.Name = "Arial"
.Size = 12
End With
ActiveCell.Offset(1, 0).Range("A1").Select
End If
End Sub

"Dave Peterson" wrote:

I'd include the path in the test and hyperlink.

Dim TestStr as string
dim myFileName as string

myfilename = "C:\somepath\crit scans\" & activecell.offset(0,2).value _
& " - " & activcell.value & ".pdf"

teststr = ""
on error resume next
teststr = dir(myfilename)
on error goto 0

if teststr = "" then
msgbox "not a valid filename"
else
'do the hyperlink
end if

This won't help if the file is renamed/deleted after the hyperlink has been
created, though.

Tommy Boy wrote:

I have the following simple code to create a hyperlink in the existing cell
that links to a PDF file on my drive. The file name it uses is based on the
text shown in 2 different cells with " - " in between the two text strings.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"Crit%20Scans/" & ActiveCell.Offset(0, 2).Value & " - " &
ActiveCell.Value & ".pdf", TextToDisplay:= _
ActiveCell.Value

The problem is, if there is a typo in my cells or a file with that name
doesn't exist on the drive, the hyperlink is still created, but the link is
ultimately invalid. I have no way of knowing that it is invalid without
going back to check each link.

Is there a way that I can check to see if the pdf file exists before
creating a hyperlink. If it's not valid, it can simply move to the next cell
without creating a link; it doesn't have to be anything fancy.

I've seen "if - then" type suggestions here for various questions, however,
I'm relatively new to using VBA in Excel, so I'm not exactly sure if this
would work or how to properly insert them into a macro.

Thanks for any help!

--

Dave Peterson


--

Dave Peterson

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
check if valid and size array Arne Hegefors Excel Programming 1 April 17th 07 10:28 AM
How to check valid Date value? hstijnen Excel Worksheet Functions 1 August 14th 06 01:25 PM
What's the most efficient to check a file name is valid? Robert Mulroney[_3_] Excel Programming 14 November 3rd 05 01:59 AM
Check if date is valid Lava[_12_] Excel Programming 4 October 19th 05 03:28 PM
check for valid file pabs[_21_] Excel Programming 2 January 15th 04 06:52 AM


All times are GMT +1. The time now is 12:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"