投稿日 | : 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のメニューを表示させクリックもできるのですが
> > クリックできるまで間が生じてしまいます。この間をどうにかして消せないものかな