[VB2005]WebBrowserを全選択して、TextBoxまたはRichTextBoxにはりつける方法。

解決


りゅう  2007-12-21 23:31:06  No: 138469  IP: 192.*.*.*

VB6の場合が、
http://madia.world.coocan.jp/vb/vb_bbs2/200501/200501_05010055.html
に記載されているのですが、VB2005ではエラーになってしまいます。
VB2005の場合に、ブラウザー内を全選択する方法を教えてください。

編集 削除
ふらぷら  2007-12-22 22:57:19  No: 138470  IP: 192.*.*.*

エラーになる理由として、ブラウザが表示される前に
WebBrowser1.ExecWB (OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT)

を行っていないでしょうか?

備考:http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/ie.htm

私のVB2005で成功しましたよ。

WebBrowser1.ExecWB(17, 0)
面倒であるため数値を直接指定してしまいましたがw

編集 削除
魔界の仮面弁士  2007-12-23 12:37:22  No: 138471  IP: 192.*.*.*

> VB2005の場合に、ブラウザー内を全選択する方法を教えてください。
こんな感じで。

Public Class Form1
  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Button1.Enabled = False
    WebBrowser1.Navigate("http://www.google.co.jp/")
  End Sub

  Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, _
      ByVal e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    Button1.Enabled = True
  End Sub

  Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    WebBrowser1.Document.Body.InvokeMember("focus")

    Const OLECMDID_SELECTALL As Integer = 17
    Const OLECMDEXECOPT_DODEFAULT As Integer = 0

    CallByName(WebBrowser1.ActiveXInstance, "ExecWB", CallType.Method, _
      OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT)
  End Sub
End Class

編集 削除
りゅう  2007-12-23 18:36:16  No: 138472  IP: 192.*.*.*

ありがとうございます。
一発で動きました。
勉強になります。

編集 削除