掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ストリーミングのタイミング処理 (ID:139164)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
# もうご覧になってないかも知れませんが。 難しいことをなさろうとしているのですから それに見合う労力とか努力が必要なので あまり、世話を焼き過ぎるのもどうかと思いますが、 さすがに難し過ぎるのでもう少しだけヒントを 載せておきます。 えーと、VBで定番(?)のタイプライブラリを お使いのようですが、本来は自分で作成した方が 勉強にもなるし、好ましいでしょうね。 (私も自前で作成しました) Windows SDKに付属するmidl.exe(*.idl→*.tlb)で コンパイルするのですが 環境変数にパスを通すのが面倒なので 「Visual C++ 2008 Express Edition」を導入すると 楽チンです。 そのタイプライブラリにて IOleClientSiteインターフェースだけを定義します。 (DispCallFuncを使う場合) それを参照設定して、Implementsで実装する訳です。 更に、DISPID_AMBIENT_DLCONTROL(-5512)という Dispatch IDを持ち、DLCTL_XXXXXの値を返す プロパティプロシージャも必要です。 (クラスモジュール) http://msdn2.microsoft.com/en-us/library/aa770041(VS.85).aspx http://msdn2.microsoft.com/en-us/library/aa741313(VS.85).aspx ただ、VBAにはVB6での プロシージャ属性→プロシージャIDなる設定項目が 存在しません。 なので、モジュールのエクスポート、インポートに よるAttribute文の有効化が必要になります。 後は > そのインスタンス(IOleClientSite型にキャストしてから)を > DOMに対してIOleObject::SetClientSiteで > 関連付けさせてから で、それから今お使いの DOMからIPersistStreamInitを取得して Loadメソッドで読むと。 WebBrowserのケースとは異なり、 今回のDOMでは ある簡単なことをしなくてはいけません。 (クラスモジュールにて) そうしないと現状のままでは単純に 実行時エラーが発生するだけになります。 また、クラスモジュールはそのままに > Do > DoEvents > Loop While doc.readyState <> "complete" の後にある処理を追加しても、大丈夫だそうです。 > > Do > > DoEvents > > Loop While doc.readyState <> "complete" > > このループ中にインターネットアクセスが > 発生しないと思われているなら間違いです。 > (HTML構造にもよりますが) これは画像やActivXです。 後は、 ご自分で試行錯誤されてください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.