tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^7: WebBrowserコントロールとMicrosoft HTML Object Library
投稿日: 2008/07/05(Sat) 22:50
投稿者sayman
返信ありがとうございます。

> 他にいい方法があるかも知れませんが、選択した文字をそのHTML内に何箇所あるか
> 調べ(Split 関数等)複数あるなら、txtRange.moveEnd で選択範囲を広げ、一意に
> なるようにすれば、あとは、その文字で、Instr 関数等でしらべれば、その最初の
> 選択した文字の出現位置が特定できます。

確かにできそうなのですが、処理に時間がかかりそう
(テキストが膨大な場合があり初期で全部サンプルと入っているので)
なのとこの記事を見る前に
JavascriptでクリップボードにコピーしてVBで取得する方法を実装してしまいました。
かなり強引な方法でJavascriptを切ってたらどうするのかという問題点もありますが
以下がソースです

-------------HTML----------------
<html>
<head>
<title>イベント</title>

<script>
function PutData(str){
    var Dstr
    Dstr = document.getElementById('id1').innerHTML;
    clipboardData.setData("Text", Dstr);
}
</script>
</head>

<body>
<span id="id1" onClick="PutData('id1')">
<!--&&&COS:1-->あいうえお<!--COE-->
</span>


<span id="id2" onClick="PutData('id2')">
<!--&&&COS:2-->あいうえお<!--COE:2-->
</span>
</body>
</html>
-----------------------------------------------
---------------------VB側----------------------
Option Explicit
Private WithEvents body As HTMLDocument

Private Function body_onclick() As Boolean
   Debug.Print Clipboard.GetText
End Function

Private Sub Form_Load()
    Me.WebBrowser1.Navigate "C:\test.html"
End Sub

------------------------------------------------
これで何とか・・・ほんとに微妙なところですが
実装出来ました。


あと、WebBrowserコントロールでページを表示するときに、
たまに「実行時エラー -2 fffffffe」
「実行時エラー -6 fffffffa」
「実行時エラー -8 fffffff8」
とかが出るのはしょうがないのでしょうか?
処理が終わる前に別ページに飛ぼうとしたりするとでたりするのもなのでしょうか?

「実行時エラー -2 fffffffe」
はdoeventsだったりon error resume next
だったりを入れて出なくなった?
のですが
「実行時エラー -6 fffffffa」
「実行時エラー -8 fffffff8」
はどう回避すればいいのかわかりません。

早くページの行き来をすると出るみたいなのですが
回避方法はあるのでしょうか?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。