|
初めて質問させて頂きます。これまでは、ここの掲示板の内容を参照し、検証して少しずつVBAの楽しさがわかってきました。分かり辛い質問文で申し訳ありませんが以下に現在解決したい内容を書きましたのでご教授の程よろしくお願い致します。
WorkSheetのある列にハイパーリンク設定したセルがあります。
これをUserForm上のコマンドボタンから対象ファイルを開く様にしたいのですが、
FollowHyperlinkでのAddress、SubAddressの設定に問題がある様ですが解決方法解らずに困っています。
<環境>
XP(Home SP3)、EXCEL2003
<実現させたい機能>
ハイパーリンク設定セルをUserFormのコマンドボタンで対象ファイルを開く。
抜粋のソースは以下の通りです。
'標準モジュール
Public ws As Worksheet
Public Path_in As String
Set ws = ThisWorkbook.Worksheets("データベース")
・
・
・
'UserForm
Private Sub CommandButton1_Click()
'----------------------------------
' ハイパーリンクファイル開く。
'----------------------------------
path_out = ws.Cells(Row_Num,Col_Num).Value '例(2行目、9列)
If (path_out <> "") Then
ActiveWorkbook.FollowHyperlink Address:=path_out, _
SubAddress:="", _
NewWindow:=True
End If
End Sub
上記のソースを使用したデバックで解ったことを以下に書きます。
<解決したい課題>
ハイパーリンク設定したセルの表示が以下の2ケースで動作が異なる。
1)TextToDisplayでファイル名等に変更表示されている。
2)フルパス表示(対象セルにはフルパスそのもののデータが書込まれている。)
上記の1)を採用したいのですがERRORになります。2)は問題なく開けますがセルの表示が長くなるため単にファイル名にしたい。
1)の場合、TextToDisplayで指定された表示のセルには、ワークシート上でEXCELのハイパーリンクの操作で設定されたアドレスにフルパスが設定があるはずで見かけ上表示文字列(TextToDisplay)がワークシート上表示されていると私は、考えていました。そこで私は、ws.cells(Row,colum).ValueをAddressに代入することで取得できると考えていましたが違うようです。ws.cells(Row,colum).ValueではTextToDisplayを取得して失敗している様です。ハイパーリンク設定され、表示がフルパス表示ではない場合のセルに保存されいるフルパスの情報をAddress/Subaddressに設定するにはどの様にすればできるのでしょうか?
|
|