
EXCEL VBA で VBAサンプルを参考にして、下記により、URLの内容を得ようとしていますが、できません。 どうも、URL画面の中に インプット用の記述があると、できなくなるのでは、と推測していますが、できるケースもあるようです。解決方法があるようでしたら、教えていただけますでしょうか? (Win7 64B EXCEL2010 IE11です。)'
Sub URL取得TEST()
On Error GoTo Er1
Dim StrUrl As String
StrUrl = InputBox("URLを指定", "URL入力", "http://www3.nhk.or.jp/nhkworld/") ' これは 読み込めます
StrUrl = InputBox("URLを指定", "URL入力", "http://uwl.weblio.jp/") ' これが読み込めません
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.FullScreen = False
objIE.Top = 200
objIE.Left = 100
objIE.Width = 800
objIE.Height = 600
objIE.navigate StrUrl
While (objIE.readyState <> 3 And objIE.readyState <> 4) Or objIE.busy = True
DoEvents
Wend
DoEvents
Workbooks.Add
objIE.ExecWB 17, 0
objIE.ExecWB 12, 0
Sheets.Add
ActiveSheet.name = "Format テキスト"
Range("A1").Select
ActiveSheet.PasteSpecial Format:="テキスト"
objIE.ExecWB 17, 0
objIE.ExecWB 12, 0
Sheets.Add
ActiveSheet.name = "FormatHTML"
Range("A1").Select
ActiveSheet.PasteSpecial Format:="HTML" '別のURLでテキストOKでこれはだめというケースあり
'
objIE.Quit
Set objIE = Nothing
Exit Sub
'
Er1:
objIE.Quit
Set objIE = Nothing
End Sub
No.3ベストアンサー
- 回答日時:
試してみて
objIE.navigate StrUrl
While (objIE.readyState <> 3 And objIE.readyState <> 4) Or objIE.busy = True
DoEvents
Wend
DoEvents
objIE.Document.body.Focus
No.8
- 回答日時:
>単純に このままでは 不能なのでしょうか
>JavaScriptだから、何かの設定が必要とかがあるのでしょうか
確認してみましたが、示されてる「Weblio英単語帳」のページでは上手くいきますが。
この回答への補足
示していただいた内容を
While (objIE.readyState <> 3 And objIE.readyState <> 4) Or objIE.busy = True
DoEvents
Wend
DoEvents
objIE.document.forms("login").Item("email").blur
Workbooks.Add
と修正して、試しましたが、Workbooks.Add へ いかずに Er1:エラーへ 移動します。
なにかの 原因・影響があるのでしょうか?
No.6
- 回答日時:
>objIE.document.forms("login").Item ("email"), Blur()
失礼。JavaScriptの構文なので()は余計でした。ついでに.のはずがカンマになってました。
objIE.document.forms("login").Item ("email").Blur

No.5
- 回答日時:
#1です。
補足に対しまして・・・例えば1個目のURLは、IEの通常操作でページを開くと、「ページそのもの」にフォーカスがある(と思われます)ので、そのままの状態ですべて選択(Ctrl+A)でコピペできますが、2個目のURLの場合、開いた時点で「空欄」のテキストエリア(=ログインメールアドレスの欄)が選択されてしまうため、空のテキストエリアから全て選択しようとしても、空ですので当然何も選択されません。
(これが例えばテキストエリアにデフォルト仕様で何か文字が入力されている場合、その文字列がコピーされエクセルに貼り付けられるかと思います)
私の知識が不足していたために汎用性のある解決法が思い付きませんでしたが、#3の方が回答されているように「objIE.Document.body.Focus」を追加することで基本的にどのURLでも貼り付けられるようになるかと思います。
(私も勉強になりました、ありがとうございます。。。)
#3の方の補足で「他のウェブページが開いていると~」とありましたが、少なくとも私の環境ではその状態でも問題無く動作しました。。
No.2
- 回答日時:
私も知らなかったので「html Focus 外す」でググりました。
objIE.navigate StrUrl
While (objIE.readyState <> 3 And objIE.readyState <> 4) Or objIE.busy = True
DoEvents
Wend
DoEvents
objIE.document.forms("login").Item ("email"), Blur()
「Weblio英単語帳~TOEICやTOEFLなどの勉強にも使える英語学習サービス~」で、
ログインメールアドレスのテキストボックスにフォーカスが当たってるのでそれを外すとか。

No.1
- 回答日時:
対象のURLを開いた際にCtrl+Aを押してみて、ページ全体が選択されれば読み込めるページ、何も選択されなければ読み込まれないページかと思います。
開いた際に例えばテキストエリアにフォーカスが移動されてしまうようなページは(検索サイト系はそのような所が多そうですが)、そのままではページ全体の選択がされないため読み込まれなくなってしまうかと思います。
例えば質問文にある2個目のURLはTABを2回押してフォーカスをテキストエリアの外に出してやった後にExecWB 17, 0で選択できますので DoEvents の下あたりに
SendKeys "{tab}"
SendKeys "{tab}"
のような記述を追加してやればとりあえずこのケースでは解決できると思いますが、この方法ではURL毎に対処法を変えてやる必要がありそうなのであまり良い回答ではないかと思われます。。。
(例えば、YahooのトップページなどはTABを7回ぐらい押してやっとフォーカスが外れます)
もしかしたら他の方がもっと汎用性のある解決法を提示してくださるかもしれませんm(_ _)m
この回答への補足
『開いた際にCtrl+Aを押してみて』というのは、タイミングがあるのでしょうか?
どんな状態が 『ページ全体が選択される』『されない』なのかを 具体的に教えていただけますでしょうか?
下段の回答のほうは、うまくできました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーソルを合わせるとメニュー...
-
LINEのステメやプロ画は変える...
-
名古屋の栄と錦は治安悪い?
-
パソコン教室テキストについて
-
word
-
テキストエリア(55個)へのテ...
-
VBAでpng画像に文字列を描画す...
-
Publisherをエクセルファイルに
-
PowerPoint SmartArtの箇条書...
-
Outlook Expressのメールをまと...
-
数式中の文字をCambria Math以...
-
「テキストデータで送ってくだ...
-
Illustratorテキストエリアへ塗...
-
携帯でのカウント
-
カーソル移動と同時にデータを...
-
サイト内での日本語入力が不可...
-
地図で電車の線路の書き方を教...
-
『μg』の読み方と意味。
-
アクセスで時間計算(24時間...
-
宮迫のフライデー、誰がリーク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファーストピアスのキャッチが...
-
googleサーチコンソールでの重...
-
LINEのステメやプロ画は変える...
-
ユーザーがクリックするまでフ...
-
TextBoxのカーソルを右端に移す...
-
vb.netでフォーカスされている...
-
ASP.NET 動的コントロールのフ...
-
VBにて、非アクティブでフォー...
-
JavaScriptのコンソールのショ...
-
目立つ広告の作り方
-
VS2013の選択した行に出る白枠...
-
人体切断マジックの事でお聞き...
-
西部警察のマシーンXからスーパ...
-
Backspaceの無効化
-
Canvasのメモリーリーク疑いに...
-
テキストエリアの末尾にフォーカス
-
自動的に前画面に戻る
-
flashとjavascriptとhtmlの連携...
-
カーソルを合わせるとメニュー...
-
今、流れてるセブンイレブンのC...
おすすめ情報