コンポーネントの、Microsoft Internet Controls の
Web Browser を使って、ブラウザソフトを作ろうと思っています。

カーソルがハイパーリンクに乗った時に、
リンク先を取得したいのですが、方法が分かりません。

StatusTextChange() で取得できると聞いたのですが、
そこで、何をやったらいいいのかが分かりません。


プロパティの StatusTextを使って、

Private Sub Browser1_StatusTextChange(ByVal Text As String)

Label1.Caption = Browser1.StatusText

End Sub

ではエラーが出ました。

もしかしたらこのイベント自体が的を外しているのかも知れませんが、
Labelに、普通のWebBrowserのステータスバーと
同じ働きをさせたいと思っています。
どなたかご存じの方は、どうぞご教授下さいませ。


趣味の範囲で作っているのでそんなに困ってはいません。
どなたか、お時間に余裕があるときに
ご教授いただけたらと思います。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

>Private Sub Browser1_StatusTextChange(ByVal Text As String)


>Label1.Caption = Browser1.StatusText
>End Sub
となっていますが
Label1.Caption = Text
で言いと思います。
これは、URLだけじゃなくて、他の情報(「ページが表示されました」とか、「Web サイトが見つかりました。応答を待っています..」等)も取得されます。
的違いかもしれないですが、たぶん大丈夫でしょう。
    • good
    • 0
この回答へのお礼

出来ました。
これですこれです。

お早い回答、感謝いたします。
本当にありがとうございました。

お礼日時:2001/06/25 17:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QExcel VBA: private sub 内の変数の値を Sub へ渡すには

VBA初心者です。private sub 内で条件に合致した変数の値をSubへ渡すにはどうしたらよいのでしょう。下記を見ていただければやりたいことの意図は伝わるかと思います。private sub内の変数が多分private sub内のみでしか参照出来ないからだとは思いますが、うまくいきません。グローバル変数化みたいなことが出来るのでしょうか。

Sub Find_OK()
MsgBox "条件に合致したのは" & var1 & "です。"
End Sub

Private Sub Worksheet_Calculate()
Dim var1
 For var1 = 1 to 10
 If var1 > 8 Then Call Find_OK
End If
Next
End Sub

Aベストアンサー

Sub Find_OK(var1)
MsgBox "条件に合致したのは" & var1 & "です。"
End Sub

Private Sub Worksheet_Calculate()
Dim var1
 For var1 = 1 to 10
 If var1 > 8 Then Call Find_OK(var1)
End If
Next
End Sub

Qtextbox.textやlabel.captionの型変換について

VB6.0を使用しています。
テキストボックスやラベルに値として数字を入れているのですが、これらの値に数字で加算減算する場合・・・

●宣言部でintegerを宣言する又は、

●string型で宣言してからプロシージャ内でCint(textbox.text)やCint(label.caption)のように変換するのとどう違うのでしょうか?

Aベストアンサー

宣言部でintegerを宣言した変数でも、textboxやlabelに放り込む時点で、テキスト型にキャストされてます。

また逆に、textbox.textやlabel.captionをそのまま数値計算式に放り込んで計算できたりするのは、「それらが数値だった場合、数値型にキャストする」といった処理が暗黙のうちに行われているためです。

VB6.0に限れば別に問題の無い話かもしれませんが、自身の将来的なことも見越すならば、明示的な型変換はなるべく心がけるようにしたほうがよいと思います。
textbox.textやlabel.captionの値を計算式に用いる場合は、CintやClngで型変換するようにしましょう。

QPrivate Subについて

VB初心者ですが質問させていただきます。
現在
Private Sub CommandButton1_Click()
で呼び出されている処理を、
コマンドラインからstart~.exeと入力して呼び出される(実行される)ようにするにはPrivate Subにてどのように記載してexeファイルを作成すればよいでしょうか??

何分初心者な者ですので概念に間違いがありましたら申し訳ございません。

よろしくお願いいたします。

Aベストアンサー

>Sub Main()
>Call Command1_Click
>End Sub
>とか出来なかったっけ?
できるはずがない。
Privateの範囲を考えればわかるはず

Public Sub Command1_Click()
にして
sub min側で
Call Form1.Command1_Click
呼び出せば動かないことはないけどイレギュラー的な
使い方すぎる。
それ考えれば
Command1_Clickイベント内をサブルーチン(関数化)して
それをsub mainとCommand1_Clickイベントから
呼び出して使うのが本来でしょう。

QPrivate Subをコピーしない

シートにPrivate Subが組み込まれた状態で、そのシートを別のブックに移動した場合、Private Subも同時に移動されてしまいます。
シートの移動を行った場合Private Subのみ移動しない方法はないのでしょうか?

埋め込んであるのは
Private Sub Worksheet_Deactivate()
On Error Resume Next
CommandBars("××").Delete
Call ***
End Sub
となっています。
別ブックに移動した場合、Resume Nextとなっているのにエラーで停止します。このエラーを出さない方法でも構いません。

別の方法として新しいシートを作成してCellsコピーを行うと共に、印刷範囲を指定してから移動する方法も試したのですが、シートに複数のページがある場合は微妙に印刷範囲がずれてしまって上手くいきませんでした。

宜しくお願い致します。

Aベストアンサー

コードをSheetモジュールではなくて
ThisWorkbookモジュールのSheetDeactivateイベントに書いておけばいいと思いますが。

'---------------------------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

  If Sh.Name = "該当シー名" Then
    On Error Resume Next
    CommandBars("××").Delete
    Call XXXX
  End If

End Sub
'----------------------------------------------

以上。


人気Q&Aランキング

おすすめ情報