Не стал заморачиваться в сторону совместимости (тем более, что ZVI уже написал - лучше не сделаешь, см. здесь http://www.planetaexcel.ru/forum.php?thread_id=9786 ) и сваял средствами VBA вполне понятный алгоритм расчета координат позицирования формы на экране рядом с ячейкой.
Для версий ниже 12 позицирует форму в средине экрана.
Не стал заморачиваться в сторону совместимости (тем более, что ZVI уже написал - лучше не сделаешь, см. здесь http://www.planetaexcel.ru/forum.php?thread_id=9786 ) и сваял средствами VBA вполне понятный алгоритм расчета координат позицирования формы на экране рядом с ячейкой.
Для версий ниже 12 позицирует форму в средине экрана.VovaK
Владимир, я посмотрел, но ни чего не понял В свою очередь, хотел бы попросить у Вас скриншот, как ведет себя форма (позиционируется) в 2007 при следующем раскладе (при масштабе 100):
Учитывается (по крайне мере в 2003): + положение приложения (свернуто в окно/максимизировано) + положение активного окна (свернуто в окно/максимизировано) + панели инструментов сверху + панели инструментов слева + ширина активной ячейки (объединенной в том числе) + прокрутка листа
+/- масштабирование
Не учитывается: - закрепление областей ("спасибо" VisibleRange) - разделение областей ("спасибо" VisibleRange) - высота активной ячейки - панели справа - панели снизу
Как это выглядит у меня см. файл
Владимир, я посмотрел, но ни чего не понял В свою очередь, хотел бы попросить у Вас скриншот, как ведет себя форма (позиционируется) в 2007 при следующем раскладе (при масштабе 100):
Учитывается (по крайне мере в 2003): + положение приложения (свернуто в окно/максимизировано) + положение активного окна (свернуто в окно/максимизировано) + панели инструментов сверху + панели инструментов слева + ширина активной ячейки (объединенной в том числе) + прокрутка листа
+/- масштабирование
Не учитывается: - закрепление областей ("спасибо" VisibleRange) - разделение областей ("спасибо" VisibleRange) - высота активной ячейки - панели справа - панели снизу
Саш, ну как я скиршот покажу - фотошопом? Alt_printScrin копирует только форму. Попробовал Ваш код - центрит на экране хорошо.
Саша не заморачивайтесь для 2003 без Win Api просто не обойтись потому как возможно оформление, когда меню будут по левому краю в несколко рядов. А ширину этих commandbars и их количество через VBA не определить.
В 2007 много проще, по крайней мере по левому краю...
Саш, ну как я скиршот покажу - фотошопом? Alt_printScrin копирует только форму. Попробовал Ваш код - центрит на экране хорошо.
Саша не заморачивайтесь для 2003 без Win Api просто не обойтись потому как возможно оформление, когда меню будут по левому краю в несколко рядов. А ширину этих commandbars и их количество через VBA не определить.
В 2007 много проще, по крайней мере по левому краю...VovaK
Всем удачи. У нас все получится. С уважением, Владимир.
для 2003 без Win Api просто не обойтись потому как возможно оформление, когда меню будут по левому краю в несколко рядов. А ширину этих commandbars и их количество через VBA не определить.
так что ли?
Quote (VovaK)
Свой расклад (если интересно) в приложении
Конечно, интересно. Было иначе, не просил) Посмотрел, вроде как приемлемо. Ожидал худшего : )
Quote (VovaK)
для 2003 без Win Api просто не обойтись потому как возможно оформление, когда меню будут по левому краю в несколко рядов. А ширину этих commandbars и их количество через VBA не определить.
так что ли?
Quote (VovaK)
Свой расклад (если интересно) в приложении
Конечно, интересно. Было иначе, не просил) Посмотрел, вроде как приемлемо. Ожидал худшего : )nerv