掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ウィンドウハンドルからOLEオブジェクトの取得をするには? (ID:80321)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> ウィンドウハンドルからOLEオブジェクトを何とか取得する方法 一般的な方法はありません。そもそも、ウィンドウハンドルを持たないオブジェクトだってありますし。 対象とするオブジェクトによって、取得方法は異なります。(後から取得出来ないものもあります) たとえば InternetExplorerオブジェクトならば、ObjectFromLresult APIを使う方法と、ShellWindowsコレクションを使う方法とがあります。 > ' 起動済みのExcelウィンドウハンドルを取得 Excelの場合は、1つしか起動されていなければ、 Set xlApp = GetObject(, "Excel.Application") にて取得出来ます。(起動されていなかった場合は、エラーになります) ただしこの方法ですと、Excelが複数起動されていた時に、それらを選択して取得する事はできません。 その場合は、ワークブック名経由での取得を行う方法があります。 Set xlApp = GetObject(MyWorkbookName).Application ここで指定する MyWorkbookName は、Excel.WorkbookオブジェクトのFullNameプロパティで返される値です。 この場合、対象となるワークブック名を開いているExcelが見つからない場合は、そのMyWorkbookNameがファイル名と判断して開かれ、そのインスタンスが返されます。(ファイルすら見つからない場合は、実行時エラーになります)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.