投稿日 | : 2007/05/24(Thu) 10:16 |
投稿者 | : はるの |
Eメール | : |
URL | : |
タイトル | : VB6.0からExcel2007を操作する |
今回VB6.0で作ったアプリをWindowsVista対応させるということで
修正を行っています。
Excelは2007が入っています。
もともとWinXP(または2000)+VB6(SP6)+Excel2000 で作られたアプリです。
事前バインディングでも実行時バインディングでも処理自体は動くのですが、
BookのSaveAsメソッドまたはSaveメソッドでものすごく時間がかかります。
(WinXP+VB6(SP6)+Excel2000環境では1秒もかからないが、
WinVista+VB6(SP6)+Excel2007では5秒以上は確実にかかる)
そのため、Excel操作中にVB画面をクリックしてしまうと
「他のアプリケーションがサーバーを使用しているため、この操作を
完了できません。操作を続けるには、[切り替え]ボタンを選択して
他のアプリケーションを終了させてください」
とのメッセージが出てしまいます。
このメッセージ自体は「OleRequestPendingTimeout」でタイムアウト時間を
増やせばでないようにできるようなのですが、
保存にものすごく時間がかかることが納得いきません。
回避方法はないでしょうか?