No.2ベストアンサー
- 回答日時:
> 具体的にこれを実行するには何が必要でしょうか?
msinet.ocx というファイルが必要です。(VB6.0ランタイムに含まれているのは分かるのですが、Office製品にくっついてくるかは不明…)
このOCXに含まれるコントロール「Microsoft Internet Transfer Control 6.0」を使っています。なので、コードをコピーしただけでは動作しません。
1. UserFormの編集で「ツール」→「その他のコントロール」を開く。
2. 「Microsoft Internet Transfer Control 6.0」にチェックを入れる
3. ツールボックスに現れた「Inet」をUserFormに貼り付ける。
「Microsoft Internet Transfer Control 6.0」が見つからなかった場合は、OCX自体がインストールされていません。これはVB6.0ランタイムセットをインストールすることで入手できます。Visual StudioでなくともVectorなどで無料配布されているものがあるので探してみてください。
と、ここまで書いてWebBrowser.NavigateでHTTPヘッダの追加が出来ることを思い出しました…(遅っ
ただ、<body>の中身しか取得していませんが。
UserFormにWebBrowserコントロールとCommandButtonコントロールを貼り付けて以下のコードを実行してみてください。
Private Sub CommandButton1_Click()
' User-Agentを「mobile」としてURLにアクセス
Call WebBrowser1.Navigate("** ここにURL **", Headers:="User-Agent: mobile" & vbCrLf)
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim strBodyHtml As String
' <body>タグの中身を取得
strBodyHtml = WebBrowser1.Document.Body.InnerHTML
' TextBox1.Text = strBodyHtml ' テキストボックスに表示するのであれば
End Sub
No.1
- 回答日時:
Microsoft Internet Transfer Control 6.0 を使えばHTTPヘッダを指定してHTMLを取得できます。
Option Explicit
Private Sub CommandButton1_Click()
' Internet Transfer Control(Inet1)でUser-Agentを"Mobile"と指定してHTML取得する例
Call Inet1.Execute(" ** ここにURLを記述 ** ", "GET", "", "User-Agent: Mobile")
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim strBuff As String, strRecv As String
Select Case State
' データ受信
Case icResponseCompleted
strBuff = Inet1.GetChunk(1024, icString)
While Len(strBuff) > 0
strRecv = strRecv & strBuff
strBuff = Inet1.GetChunk(1024, icString)
Wend
' strRecvに取得したHTMLが入る
TextBox1.Text = strRecv
End Select
End Sub
この回答へのお礼
お礼日時:2009/09/09 23:27
回答ありがとうございます。
エクセルのVBEに貼り付けましたが、オブジェクトが必要ですみたいな
エラーが出て実行できませんでした。
具体的にこれを実行するには何が必要でしょうか?
あくまでもエクセルで実行したいのですが。。。
Visual Stadioを勝ってインストールすれば使えますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- ソフトウェア エクセル_データ処理_変化点検出について 1 2022/09/20 18:25
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) 更新前と更新後の差分をVBAを使って抜き出したい 5 2023/06/01 14:35
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
NumericUpDownコントロールでの...
-
Webページ上のボタン等の位置を...
-
ASP.NetのGridViewで任意の行ク...
-
ASPで画面間のパラメタ受け渡し
-
c# 文字列の最後から1文字削除...
-
HTTPリクエストヘッダーの設定...
-
コネクション・セッション・ト...
-
VBAで一時中断したプログラムの...
-
asp.NET初心者です。「 ’Contex...
-
Javascriptでページ内容全体を...
-
複数選択のListBoxでClickイベ...
-
DataGridViewのチェックボック...
-
ACCESS2010 WEBブラウザーコン...
-
<FORM> </FORM> の中に さらに...
-
Accessの画面更新を一時的に停...
-
テキストボックスのクリックで...
-
getParameterで値が取得できず...
-
【C#】 : WindowsProgramming ...
-
HTMLボタンの文字色を変え...
-
WebBrowserでログインボタンを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webページ上のボタン等の位置を...
-
ASP.NetのGridViewで任意の行ク...
-
SuspendLayoutが効かない?
-
NumericUpDownコントロールでの...
-
MFCでグリッド
-
【ASP.NET】 GroupBoxコントロ...
-
asp.netにてgridviewの列を動的...
-
携帯用サイトをエクセルVBAから...
-
WEBと連動したソフト
-
入力制限
-
数字のみ入力可
-
ACCESS2010でカレンダーのサン...
-
ASP.NET テキストフィールドの日付
-
VB2005でデリゲートというもの...
-
webcontrolグラスにdivはない?
-
getParameterで値が取得できず...
-
Accessの画面更新を一時的に停...
-
コネクション・セッション・ト...
-
DataGridViewのチェックボック...
-
VBAで一時中断したプログラムの...
おすすめ情報