プロが教えるわが家の防犯対策術!

エクセルで、ハイパーリンクのリストがあります。マクロでこのリストのURLをすべてIEで開くようにしたいのです。
ご教示お願いいたします。

A 回答 (4件)

 範囲の指定ですが、提示した↓だと、アクティブシートのハイパーリンクすべてを対象とします。



 Set Rng = ActiveSheet.UsedRange

 これを、例えば、↓のようにすると、A1:E20内のハイパーリンクだけを対象とします。

 Set Rng = Range("A1:E20")

 これだけのことですので、まずは実際に試してみてください。
    • good
    • 0

#1です。



セル範囲をループ処理するサンプルです。

Dim r As Range
Dim c As Range
Set r = Worksheets(1).Range("N1:N10")
 for Each c In r
MsgBox c.Address
Next c
    • good
    • 1

↓でどうでしょう?



Sub test()
 Dim Rng As Range
 Dim myHyp As Hyperlink
 Dim myHyps As Hyperlinks
 
 Set Rng = ActiveSheet.UsedRange '範囲を指定
 Set myHyps = Rng.Hyperlinks
 
 For Each myHyp In myHyps
  myHyp.Follow NewWindow:=True
 Next
 
 Set Rng = Nothing
 Set myHyps = Nothing
End Sub

参考URL:http://www2.odn.ne.jp/excel/waza/macro.html
    • good
    • 0
この回答へのお礼

早速のご連絡ありがとうございました。
範囲を指定のところが、勉強不足ですので、
調べて試行してみます。

お礼日時:2008/06/13 15:26

単純にアクティブセルのハイパーリンク


を実行する方法です。

ActiveCell.Hyperlinks(1).Follow

ハイパーリンクのアドレスを取得する方法です。
ActiveCell.Hyperlinks(1).Address

特定のURLをIEで開く方法です。
Dim ie As Object
Dim MyUrl As String
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
MyUrl = "http://security.okwave.jp/qa4097240.html"
ie.navigate MyUrl
Do While (ie.busy = True) And (ie.readyState <> READYSTATE_COMPLETE)
DoEvents
Loop

ただし、複数のURLを開く場合は、別々のウィンドウで開くのか、一つのウィンドウ
で次々に開いていくのか、でコードが違ってきます。
    • good
    • 0
この回答へのお礼

早速のご教示ありがとうございました。
1つのURLを開くのは
ActiveCell.Hyperlinks(1).Followにて解決できました。
ただ、リスト(たとえば、n1:n10)にハイパーリンクがある場合の
繰り返し処理は上記の
ie.Visible = True
MyUrl = "​http://security.okwave.jp/qa4097240.html"​部分を
変更し別途繰り返しの処理を追加すればよいのでしょうか。

お礼日時:2008/06/13 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!