VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/07/22(Thu) 17:42
投稿者バルデラマ
Eメール
URL
タイトルRe^3: WebBrowserにてEXCELの値を取得する

ポップアップメニューが表示されてから選択可能になるまでの間の解消ですが、
以下プロシージャ内で
> > Private Sub xlSheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
> >     PopupMenu mnuTest
> >     Cancel = True
> > End Sub
DoEventsをあらゆる箇所に入れてみたり、Cancel=Trueを先に
処理してみたりしてみましたが、解消できませんでした。

間があくときもあれば、まったくあかずにスムーズな場合もあり原因がわかりません。
同じセルを連続で選択すると、必ず遅くなってしまうようです。

たびたびすみませんが、解決方法をご存知の方
お知恵をお借りできればと思います。よろしくお願いします。

ちなみに...
いろいろと確認しているときに以下メッセージのような感じのものが出力されました。
「他のOLEが使用しているので終了するまで待ちます。」
(すぐに消してしまったので正しい内容ではありません..こんな感じの内容でした...)
何か関係があるのでしょうか?


> おおっ!!できました。
> WithEventsなんてあったんですね、ありがとうございます。
>
> でも、確かにクリックできるまでに間がありますね...。
> 間の解消は、自分でも調査してみたいと思います。
> が、もし何かわかりましたら教えてください。
>
> りっとっと さん、本当にありがとうございました。
>
> > できなくもないですけどね
> > Private xlBook As Excel.Workbook
> > Private WithEvents xlSheet As Excel.Worksheet
> > Private Sub Form_Load()
> > WebBrowser1.Navigate "c:\book1.xls"
> > End Sub
> > Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
> >     Set xlBook = pDisp.Document
> >     Set xlSheet = xlBook.ActiveSheet
> >     xlBook.Application.Visible = False
> > End Sub
> >
> > Private Sub xlSheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
> >     PopupMenu mnuTest
> >     Cancel = True
> > End Sub
> >
> > とこんな感じで、エクセルのシートオブジェクトをWithEventsステートメントつきで宣言すれば
> > xlSheetでのイベントが拾えますので、BeforeRightClickイベントで、引数のCancelにTrueを入れれば
> > キャンセルされ、エクセルのポップアップメニューは表示されません。
> > サンプルを実行するとわかりますが、PopupMenuでVBのメニューを表示させクリックもできるのですが
> > クリックできるまで間が生じてしまいます。この間をどうにかして消せないものかな


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

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -