Excel VBA質問箱 IV

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

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


13138 / 13646 ツリー ←次へ | 前へ→

【6778】ハイパーリンクについて こう 03/8/3(日) 18:21 質問
【6805】Re:ハイパーリンクについて Jaka 03/8/4(月) 16:46 回答
【6820】Re:ハイパーリンクについて ichinose 03/8/5(火) 8:35 回答
【6821】Re:ハイパーリンクについて こう 03/8/5(火) 9:42 発言
【6843】Re:ハイパーリンクについて こう 03/8/6(水) 18:25 お礼

【6778】ハイパーリンクについて
質問  こう  - 03/8/3(日) 18:21 -

引用なし
パスワード
   お気に入りのページを一定時間ごとに表示しようとおもっていますがマクロの記録だけだと、ウィンドウがたくさんでてしまいます、これらのウィンドウをひとつにできるんでしょうか?あと、時間の入れ方なんか、、一分間表示したら次のページ、ってかんじで、似たような処理ばかりなので、FOR,,NEXTでまとめたいと思うのですが、どうしたらいいのかわかりません、どなたか、教えてください、よろしくおねがいします!
Sub test()

  Range("A1").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
  Range("A2").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
  Range("A3").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
  Range("A4").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
  Range("A5").Select
  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
 
End Sub

【6805】Re:ハイパーリンクについて
回答  Jaka  - 03/8/4(月) 16:46 -

引用なし
パスワード
   こんにちは。
これじゃダメ?

Sub atyy()
  Application.ScreenUpdating = False
  For i = 1 To 5
    ThisWorkbook.Sheets("Sheet1").Range("A" & i).Hyperlinks(1).Follow _
              NewWindow:=False, AddHistory:=True
    Application.ScreenUpdating = True
    DoEvents
    Application.Wait Now + TimeValue("00:0:03")
    Application.ScreenUpdating = False
    ActiveWindow.Close
  Next
  Application.ScreenUpdating = True
End Sub

【6820】Re:ハイパーリンクについて
回答  ichinose  - 03/8/5(火) 8:35 -

引用なし
パスワード
   Jaka さん、こうさん、おはようございます。
別解です。
インターネットエクスプローラーにURLを渡してしまう方法です。
まず、参照設定で「Microsoft Internet Controls」にチェックしてください。

クラスモジュール(Class1)に、
'==================================================
Public WithEvents ie As InternetExplorer
Public ie_opn As Boolean
Public ie_dsp_comp As Boolean
'====================================
Private Sub Class_Initialize()
  Set ie = New InternetExplorer
  ie.Visible = True
  ie_opn = True
End Sub
'======================================================================
Private Sub ie_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
  ie_dsp_comp = True
End Sub
'==============================
Private Sub ie_OnQuit()
  ie_dsp_comp = True
  ie_opn = False
End Sub

標準モジュールに
'==============================================
Sub main()
  Dim idx As Long
  Dim l_url As String
  Dim 今
  Set iec = New Class1
  With iec
    idx = 0
    Do While Cells(idx + 1, 1).Value <> "" And .ie_opn = True
     l_url = Cells(idx + 1, 1).Hyperlinks(1).Address
     .ie.Navigate l_url
     .ie_dsp_comp = False
     Do While .ie_dsp_comp = False
      DoEvents
      Loop
     今 = Now()
     Do While Second(Now() - 今) <= 5
      DoEvents
      Loop
     idx = idx + 1
     Loop
    If .ie_opn = True Then .ie.Quit
    End With
End Sub

リンクシートをアクティブにしてmainを実行してみて下さい。
尚、こうさんの「お気に入りのページ」というのが、IEの「お気に入り」を
指しているなら、フォルダ「C:\WINDOWS\Favorites」を検索する方法も
あると思いますが・・・。

【6821】Re:ハイパーリンクについて
発言  こう  - 03/8/5(火) 9:42 -

引用なし
パスワード
   jakaさま。ichinoseさまありがとうございます!今仕事中なのであとでためしてみます!

【6843】Re:ハイパーリンクについて
お礼  こう  - 03/8/6(水) 18:25 -

引用なし
パスワード
   jakaさんichinoseさんありがとうございます!ばっちりです!クラスモジュール初めて使いました!こんなすごい使い方があるなんて、、、、最後の質問なんですが私はエクセルでインターネットエクスプローラを操作することに興味が出てきました、もっと勉強したいと思います、おすすめの本とかWEBサイトなんかありましたら教えてください!
今回は本当にお世話になりました、ありがとうございます!

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