人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

こちらのExcelVBAサンプルを
http://www.happy2-island.com/vbs/cafe02/capter00707.shtml

下記フォームに組み込む方法を教えてください。

ラベル lblURL 「URL表示」
コマンドボタン cmdKensaku 「検索」
コマンドボタン cmdSyutoku 「URL取得」

この3つのオブジェクトを配置し「検索」を押すとIEが立ち上がり
URLを取得を押すとその時表示しているページのURLを取得しラベルに表示させたい

聞いてばかりで申し訳ないのですが、適切な答えの方には
100p?差し上げます。
よろしくお願いします。

●質問者: taro_tan
●カテゴリ:コンピュータ インターネット
✍キーワード:Excel IE URL オブジェクト コマンド
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●60ポイント

今回ご質問への直接の回答ではありませんが、EXCEL の VBA と WSH の VBS は文法も似ていますが、まったく同じではありません。


特にWScript と書かれている部分はそのままでは動きませんし、VBA がプロシージャ単位でしか記述できないという点も異なります。


例示のサンプルをEXCEL で動かすには下記にように変更する必要があります。

Option Explicit
'--- 追加 ---
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub runIE()
 Dim objIE As Object
 Dim strBody As String
 
 'objIEオブジェクトを作成します
 Set objIE = CreateObject("InternetExplorer.Application")
 
 'ウィンドウの大きさを変更します
 objIE.Width = 800
 objIE.Height = 600
 
 '表示位置を変更します
 objIE.Left = 0
 objIE.Top = 0
 
 'インターネットエクスプローラ画面を表示します
 objIE.Visible = True
 
 '指定したURLを表示します
 objIE.Navigate "http://www.yahoo.co.jp/"
 
 'ページの読み込みが終わるまでココでグルグル回る
 Do Until objIE.Busy = False
 '空ループだと無駄にCPUを使うので250ミリ秒のインターバルを置く
'--- 変更 ---
 Sleep 250
 Loop '
 
 '?表示したページの<BODY>部のHTMLを取得し画面に表示
 strBody = objIE.Document.Body.InnerHtml
'--- 変更 ---
 MsgBox strBody
 
 '?表示したページの<BODY>部のテキストだけを取得し画面に表示
 strBody = objIE.Document.Body.InnerText
'--- 変更 ---
 MsgBox strBody
 
 'オブジェクトの破棄
 Set objIE = Nothing
End Sub

ご質問では、URL を取得したいということですが、今回の例はURL を渡して表示させ、中身を表示させるものです。


やりたい目的をもう一度、整理してはいかがでしょうか。

◎質問者からの返答

いつもご回答ありがとうございます。

勉強不足で質問内容を間違っていたようです。

また勉強してみます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ