Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10232 / 13644 ツリー ←次へ | 前へ→

【22925】ハイパーリンクについて ギン 05/3/7(月) 18:56 質問[未読]
【22943】Re:ハイパーリンクについて G-Luck 05/3/8(火) 13:54 発言[未読]
【22990】Re:ハイパーリンクについて ギン 05/3/9(水) 15:53 お礼[未読]

【22925】ハイパーリンクについて
質問  ギン  - 05/3/7(月) 18:56 -

引用なし
パスワード
   また教えてください!
今回はVBの件ではなくハイパーリンク機能の事なのです。
私の会社では何故かフォルダ名の前に#が付けてあるフォルダ名が多い為
ハイパーリンク機能を使うと#の前のフォルダで止まってしまいます。
フォルダ名を変えれば良いだけのことなのですが
数式がリンクされているフォルダが多いので変更出来ません。
何方か良い方法がありましたらお教え下さい。

【22943】Re:ハイパーリンクについて
発言  G-Luck  - 05/3/8(火) 13:54 -

引用なし
パスワード
   ▼ギン さん:
ハイパーリンクでは、#はブックマークの記号らしく特別な意味があるようです。
それで、直接的回避策は無いのではないかと思います。

そこで、ハイパーリンクの目的がファイルを開くことであるなら、
ハイパーリンクは、シングルクリックですが
ダブルクリックイベントを利用して、下記コードのようにしてはどうですか?
ブックマークや、他の機能を利用するなら、それに合わせてコードを書き換える必要があります。

'以下コード
Private Sub Workbook_SheetBeforeDoubleClick _
  (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  Call myHyperLink(Target)
End Sub

Public Sub myHyperLink(Target As Range)
  
  Const myMessage As String = "ファイルが開けませんでした"
  Dim LinkRange As Range
  Dim rg As Range
  Dim Fn As String
  
  Set LinkRange = ThisWorkbook.Worksheets("Sheet1").Range("A1")
'リンク設定をしたいセル範囲です。適切に指定してください。

  On Error Resume Next
    Set rg = Intersect(Target, LinkRange)
    If rg Is Nothing Then Exit Sub
    Workbooks.Open Filename:=rg.Value
    If Err <> 0 Then
      MsgBox myMessage
    End If
  On Error GoTo 0
End Sub

あるいは、ラベルやテキストボックスを貼り付け、クリックイベントで処理をするとか

【22990】Re:ハイパーリンクについて
お礼  ギン  - 05/3/9(水) 15:53 -

引用なし
パスワード
   G-Luck さんへ
ギンです。
お礼が遅くなり申し訳ありませんでした。

ハイパーリンクでは無理みたいですね。
ダブルクリックのコードの方を試してみたいと思います。
セルに記入したアドレスを呼び出すようにしたいと思います。

今回は有難う御座いました。
また、宜しく御願い致します。

10232 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free