PPT アドインを作成していますが、画面上の SlideRange の位置を特定できるかどうか、答えを見つけるのに苦労しています。
ユーザーフォームを特定の位置 (たとえば、SlideRange の左上隅から左 = 10、上 = 10) で開くようにしたいと考えています。残念ながら、その位置は画面解像度に基づいています。解像度が変更され、PPT ビュー タイプが変更される可能性があるため、SlideRange の正確な位置を確立できません。
VBAでできますか?
前もって感謝します!MJ
PPT アドインを作成していますが、画面上の SlideRange の位置を特定できるかどうか、答えを見つけるのに苦労しています。
ユーザーフォームを特定の位置 (たとえば、SlideRange の左上隅から左 = 10、上 = 10) で開くようにしたいと考えています。残念ながら、その位置は画面解像度に基づいています。解像度が変更され、PPT ビュー タイプが変更される可能性があるため、SlideRange の正確な位置を確立できません。
VBAでできますか?
前もって感謝します!MJ
SlideRangeには特定の位置はありません...これはスライドのコレクションであり、フォームを10,10に配置するときに使用している単位が不明です。ただし、通常の全画面表示では、次のようなポイントでスライドショーウィンドウの座標を取得できます。
SlideShowWindows(1)の場合Debug.Print .Left Debug.Print .Top Debug.Print .Height Debug.Print .Width End With
画面ピクセルで結果を取得するには、Win API呼び出しを使用して画面DPI(dots per inch)を取得する必要があります。
インチ=ポイント/72ピクセル=インチ*DPI
<< PPT でマウス イベントをキャッチできるかどうか知っていますか?
マウスクリックによって選択が変更された場合にのみ、ご存知のように、それは常にではありません。
おそらくWin APIを介してそれを行う方法はいくつかありますが、このようなものはPPT自体に組み込まれていません.