Excel VBA質問箱 IV

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

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


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

【42474】例えば、このサイトに貼られているurlを取得するには? カド 06/9/13(水) 8:56 質問[未読]
【42475】Re:例えば、このサイトに貼られているur... マクロマン 06/9/13(水) 9:02 発言[未読]
【42476】Re:例えば、このサイトに貼られているur... カド 06/9/13(水) 9:09 発言[未読]
【42477】Re:例えば、このサイトに貼られているur... マクロマン 06/9/13(水) 9:12 発言[未読]
【42478】Re:例えば、このサイトに貼られているur... カド 06/9/13(水) 9:20 質問[未読]
【42479】Re:例えば、このサイトに貼られているur... マクロマン 06/9/13(水) 9:30 発言[未読]
【42481】Re:例えば、このサイトに貼られているur... カド 06/9/13(水) 10:24 質問[未読]
【42480】Re:例えば、このサイトに貼られているur... Kein 06/9/13(水) 10:06 回答[未読]
【42482】Re:例えば、このサイトに貼られているur... カド 06/9/13(水) 10:26 お礼[未読]

【42474】例えば、このサイトに貼られているurl...
質問  カド  - 06/9/13(水) 8:56 -

引用なし
パスワード
   例えば、このサイトにおいて、クリックすれば別の画面に飛んで行く
urlがたくさん貼ってありますよね。

この全urlをマクロで抜き出したいのですが、どのようにすれば
可能なのか教えてください。

【42475】Re:例えば、このサイトに貼られているu...
発言  マクロマン  - 06/9/13(水) 9:02 -

引用なし
パスワード
   ブラウザは何をお使いですか?

【42476】Re:例えば、このサイトに貼られているu...
発言  カド  - 06/9/13(水) 9:09 -

引用なし
パスワード
   ▼マクロマン さん こんにちは。
>ブラウザは何をお使いですか?

Lunascape3.5.4を愛用していますが、IE6.0もインストールされていますので、
どちらのブラウザでもOKです。

【42477】Re:例えば、このサイトに貼られているu...
発言  マクロマン  - 06/9/13(水) 9:12 -

引用なし
パスワード
   IEしか使ってないのでIEでの方法です。

ソースを取得してURLを拾い出す、という手がありますが、
たとえばここだと、
このスレッドのURLは↓ですが、

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=42474;id=excel

ソースに記述されているのは↓です。

c-board.cgi?cmd=ntr;tree=42474;id=excel

ここに限っていえば、
ソースをスレッドごとに区切って、
各スレッドの記述をさらに加工してURL部分を切り出して、
切り出したものの前に"http://www.vbalab.net/vbaqa/"を付加
する、ということで出来ると思います。

【42478】Re:例えば、このサイトに貼られているu...
質問  カド  - 06/9/13(水) 9:20 -

引用なし
パスワード
   ▼マクロマン さん 回答ありがとうございます。

ソースを取得して、例えばエクセルシートに貼るには
どうすれば良いのでしょうか?

【42479】Re:例えば、このサイトに貼られているu...
発言  マクロマン  - 06/9/13(水) 9:30 -

引用なし
パスワード
   ↓でソースが取得できます。
サンプルでは、MsgBoxに表示するようにしてあります。
>MsgBox Mybody 'ソースの中身
の部分を改造すればセルに書き出せます。
が、セルに書き出すより、テキストボックスなどに
書き出したほうがいいように思います。

なお、このコードは過去ログなどを参考にしています。
私のオリジナルではありません。

'参照設定:Microsoft HTML Object Library
'参照設定:Microfoft Internet Controls

Sub shouyu()
Dim Mybody As Variant
Dim myIE As New SHDocVw.InternetExplorer
Dim MyDoc As MSHTML.HTMLDocument
Const myurl As String = "http://www.vbalab.net/vbaqa/c-board.cgi?cmd=tpc;id=excel"
 'MyIE.Visible = True
 myIE.navigate myurl
  Do
  DoEvents
  Loop Until (Not myIE.Busy) And (myIE.readyState = READYSTATE_COMPLETE)
 Set MyDoc = myIE.document
 Mybody = MyDoc.body.innerHTML
 myIE.Quit
 MsgBox Mybody 'ソースの中身
End Sub

【42480】Re:例えば、このサイトに貼られているu...
回答  Kein  - 06/9/13(水) 10:06 -

引用なし
パスワード
   例えばGoogleのポータルサイトのリンクURLを、A列のセルに取り込むなら・・

Sub Get_IE_Links()
  Dim IE As Object
  Dim i As Long

  Set IE = CreateObject("InternetExplorer.Application")
  With IE
   .Navigate "http://www.google.co.jp/" '目的のサイトのURL
   Do While .Busy
     DoEvents
   Loop
   Do While .ReadyState <> 4
     DoEvents
   Loop
   For i = 1 To .Document.Links.Length
     Cells(i, 1).Value = .Document.Links(i - 1).href
   Next i
   .Quit
  End With
  Set IE = Nothing
End Sub

【42481】Re:例えば、このサイトに貼られているu...
質問  カド  - 06/9/13(水) 10:24 -

引用なし
パスワード
   ▼マクロマン さん 回答ありがとうございます。
教えていただいたコードの作動は確認できました。
わたしの場合は、せっかくエクセルを使っているので、ソースを1行ずつ
エクセルの各セルに書き込めた方が使い勝手が良いのですが、
お分かりなら教えていただけないでしょうか?

【42482】Re:例えば、このサイトに貼られているu...
お礼  カド  - 06/9/13(水) 10:26 -

引用なし
パスワード
   ▼Kein さん 回答ありがとうございます。

これは完全に求めていたことの解ですね。
しかもコードはシンプルですし、毎度のことながらすばらしいです。

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