ドキュメント座標[^1]を画面座標[^2]に変換するのにWindow.PointsToScreenPixelsX()/Window.PointsToScreenPixelsY()を使おうとしたところはまってしまいました。
- (0, 0) 以外のドキュメント座標がうまく変換できない
- ウィンドウ枠の固定をしていたり、マルチディスプレイ環境の場合もうまく変換できない
踊るエクセル@ExcelVBAer さんのご教示により、ドキュメント座標がActiveWindowの.Panes(i).VisibleRange(i=1~.Panes.Count)のどこに属するか調べた上で、当該PaneのPane.PointsToScreenPixelsX()/Pane.PointsToScreenPixelsY()を使用すればよいことがわかったので、これを元に[汎用プロシージャ:ConvertToScreenCoordinates()](#file-mod_convertt