VisioからExcelファイルへの保存に関して |
- 01: 名前:ゆう投稿日:2007/10/26(金) 13:58
- VisioからExcelファイルへの保存に関して質問させてください。
CreateObjectやGetObjectを使用して、Excelのオブジェクトを取得しようとしています。
その中でGetObjectのヘルプのサンプルを参照していると、
次のような個所がありました。
'Excel は起動中なので、API の SendMessage 関数を使って、
' 起動中オブジェクト テーブルに登録します。
SendMessage hWnd, WM_USER + 18, 0, 0
この起動中オブジェクトテーブルの意味がわかりません。
ここに登録せずにExcelなどのアプリケーションを起動すると何かまずいことがあるのでしょうか。
- 02: 名前:yoda投稿日:2007/10/26(金) 14:17
- 開発環境と、VisioやExcelのバージョンを教えてください。
- 03: 名前:‚ゆう投稿日:2007/10/26(金) 14:56
- 開発環境:Windows XP
Officeのバージョン:Visio2007、Excel003
です。
- 04: 名前:yoda投稿日:2007/10/26(金) 15:46
- GetObject は、すでに起動済みのObjectを取得するために、使います。
起動していないうちに、GetObjectを使うと、エラーになると、思います。
DetectExcel は、そのためのチェックをしているのでは、ないかと思います。
Excelがまだ、起動していないことが、はっきりしている場合は、
CreateObject 関数を使います。
- 05: 名前:‚ゆう投稿日:2007/10/26(金) 16:17
- 了解しました。
既に起動しているのを取得するだけなら、GetObjectでいいはずなのに、
なぜ余分な処理を実行しているのか疑問に思ってしまいました。
最近のExcelだとどうかわかりませんが、
7.0とかのExcelだと明示的にオブジェクトテーブルに登録するよう
メッセージを送る必要があったのだと理解しました。
http://support.microsoft.com/kb/147573/ja [source] [check]
うまく使い分けて処理しようと思います。
ありがとうございます。
|
|