Excel VBA質問箱 IV

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

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


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

【42388】例えば、このページ全体をコピペするには? カド 06/9/9(土) 6:28 質問[未読]
【42389】Re:例えば、このページ全体をコピペするに... Kein 06/9/9(土) 7:04 回答[未読]
【42390】Re:例えば、このページ全体をコピペするに... Kein 06/9/9(土) 7:09 発言[未読]
【42391】Re:例えば、このページ全体をコピペするに... カド 06/9/9(土) 7:35 質問[未読]
【42394】Re:例えば、このページ全体をコピペするに... Kein 06/9/9(土) 8:18 回答[未読]
【42412】Re:例えば、このページ全体をコピペするに... カド 06/9/10(日) 9:27 質問[未読]
【42462】Re:例えば、このページ全体をコピペするに... カド 06/9/12(火) 20:22 お礼[未読]
【42395】Re:例えば、このページ全体をコピペするに... かみちゃん 06/9/9(土) 8:47 発言[未読]
【42413】Re:例えば、このページ全体をコピペするに... カド 06/9/10(日) 9:32 お礼[未読]
【42414】Re:例えば、このページ全体をコピペするに... マクロマン 06/9/10(日) 10:04 発言[未読]
【42415】Re:例えば、このページ全体をコピペするに... カド 06/9/10(日) 10:55 お礼[未読]
【42416】Re:例えば、このページ全体をコピペするに... マクロマン 06/9/10(日) 11:08 発言[未読]
【42417】Re:例えば、このページ全体をコピペするに... かみちゃん 06/9/10(日) 11:10 発言[未読]
【42463】Re:例えば、このページ全体をコピペするに... カド 06/9/12(火) 20:30 お礼[未読]

【42388】例えば、このページ全体をコピペするには...
質問  カド E-MAIL  - 06/9/9(土) 6:28 -

引用なし
パスワード
   例えば、このサイトを開いている状態にてVBAマクロを実行すると、

このサイトにて右クリックして”すべて選択”を実行し、
さらに右クリックして”コピー”を実行

する方法を教えてください。


ようは、このページ全体をコピーする方法を知りたいのです。
よろしくお願いいたします。

【42389】Re:例えば、このページ全体をコピペする...
回答  Kein  - 06/9/9(土) 7:04 -

引用なし
パスワード
   コピーしてクリップボードへもっていくところまでなら・・

Sub MyPage_Copy()
  Dim objIE As Object
  Const StrURL As String = _
  "http://www.vbalab.net/vbaqa/c-board.cgi?id=excel"

  Set objIE = CreateObject("InternetExplorer.Application")
  On Error GoTo ErLine
  With objIE
    .Navigate StrURL
    Do While .Busy = True
     DoEvents
    Loop
    Do While .ReadyState <> 4
     DoEvents
    Loop
    .ExecWB 17, 2, 0, 0
    .ExecWB 12, 2, 0, 0
    .Quit
  End With
  Set objIE = Nothing 
End Sub

【42390】Re:例えば、このページ全体をコピペする...
発言  Kein  - 06/9/9(土) 7:09 -

引用なし
パスワード
   >On Error GoTo ErLine

は、削除しておいて下さい。
なお、このサイトへのアクセスは頻繁にエラーになるみたいですから、
なるべく安定しているところのURLを定数にして、試してみて下さい。

【42391】Re:例えば、このページ全体をコピペする...
質問  カド E-MAIL  - 06/9/9(土) 7:35 -

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

マクロ上からコピーしたいサイトを指定するのではなく、
今開いているサイトをコピーしたいのですが可能でしょうか?

【42394】Re:例えば、このページ全体をコピペする...
回答  Kein  - 06/9/9(土) 8:18 -

引用なし
パスワード
   ならばこんな感じでしょーか ?

Sub MyHP_Copy()
  Dim MyShell As Object, MyWindow As Object, objIE As Object

  Set MyShell= CreateObject("Shell.Application")
  For Each MyWindow In MyShell.Windows
   If TypeName(MyWindow.document) = "HTMLDocument" Then
     Set objIE = MyWindow: Exit For
   End If
  Next
  Set MyShell = Nothing
  If objIE Is Nothing Then
   MsgBox "Internet Explorer でHPを表示していません", 48
   Exit Sub
  End If
  With objIE
   .Visible = True
   .ExecWB 17, 2, 0, 0
   .ExecWB 12, 2, 0, 0
  End With
  Set objIE = Nothing 
End Sub

【42395】Re:例えば、このページ全体をコピペする...
発言  かみちゃん  - 06/9/9(土) 8:47 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>マクロ上からコピーしたいサイトを指定するのではなく、
>今開いているサイトをコピーしたいのですが可能でしょうか?

まったくの別解になりますが、
開きたいURLを指定する方法であれば、WebQueryでもできると思います。
すべてのページがWebQueryでできるわけではないですけど・・・
ちなみに、WebQueryは、一般操作の「データ」−「外部データの取り込み」−「新しいWebクエリ」
で確認できます。

【42412】Re:例えば、このページ全体をコピペする...
質問  カド E-MAIL  - 06/9/10(日) 9:27 -

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

作動は確認できました。
しかしながら、Internet Explorer以外のブラウザでは
うまく行きませんね。

ブラウザにlunascapeを使っているのですが、
何か良い方法は無いでしょうか?

【42413】Re:例えば、このページ全体をコピペする...
お礼  カド  - 06/9/10(日) 9:32 -

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

確認してみましたが、かなり高いソフトですね。
ちょっと高価で手が出ません。

【42414】Re:例えば、このページ全体をコピペする...
発言  マクロマン  - 06/9/10(日) 10:04 -

引用なし
パスワード
   >確認してみましたが、かなり高いソフトですね。

???
エクセルがまだ入ってなかったということかな?
確かにエクセルは安いソフトではないが。

それとも単に↓を見落としていて勘違いしている
だけなのかな?

>ちなみに、WebQueryは、一般操作の「データ」−「外部データの取り込み」−「新しいWebクエリ」
>で確認できます。

【42415】Re:例えば、このページ全体をコピペする...
お礼  カド  - 06/9/10(日) 10:55 -

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

WebQueryをネットで検索したら、高価なソフトが出てきたので、
てっきりそのことかと思いましたが、エクセルの機能の一つだった
のですね。

試して見ましたが、データを取り込めませんというエラーが出て
うまく行きませんでした。

いずれにしても、マクロを使って大量に必要なサイトのデータを取り込みたい
ので、手作業での取り込みはちょっと目的に合いません。

【42416】Re:例えば、このページ全体をコピペする...
発言  マクロマン  - 06/9/10(日) 11:08 -

引用なし
パスワード
   もしかして、こんなことをしたいとか?
リアルタイム株価取得
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=42371;id=excel

【42417】Re:例えば、このページ全体をコピペする...
発言  かみちゃん  - 06/9/10(日) 11:10 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>試して見ましたが、データを取り込めませんというエラーが出て

少なくともこのページ全体は取り込めますよ。(確認済み)
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=42415;id=excel

>いずれにしても、マクロを使って大量に必要なサイトのデータを取り込みたい
>ので、手作業での取り込みはちょっと目的に合いません。

手作業での動作確認ができれば、それを「マクロの記録」で記録して、あとは、
URL部分を繰り返し処理するように修正すれば、手作業にはなりません。
ただし、サイトによっては、「データを取り込めません」というエラーになるので
その場合は、Internet Explorerとの連携でもできると思います。
Internet Explorerとの連携については、以下のURLが参考になると思います。
http://www.ken3.org/cgi-bin/group/vba_ie.asp

> ブラウザにlunascapeを使っている

これは、重大な前提条件もれです。

【42462】Re:例えば、このページ全体をコピペする...
お礼  カド  - 06/9/12(火) 20:22 -

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

Internet Explorerの件は、このプログラムを動かすときには
Internet Explorerを使えば良いだけなので実質的な問題は無く
処理することが出来ました。

また、最終的には最初に教えていただいた、プログラム上でurlを
指定する方法を採用したので、Internet Explorerの問題はまったく
関係なくなりました。

【42463】Re:例えば、このページ全体をコピペする...
お礼  カド  - 06/9/12(火) 20:30 -

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

漸くWebQueryが作動しました。
最初はなぜ動かなかったのか今となっては不思議ですが。。。

マクロを記録してやってみたところ、元々エクセルに備わっている機能のためか
サクサク動く気がしました。

ところが繰り返し処理をすると、WebQuery独特の動きが有って
ちょっと私には扱い辛かったので、今回はKeinさんの方法を採用させて
頂きました。

ネット上の更新されたデータを扱う場合などには便利そうですね。

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