Страницы: 1
RSS
Скроллинг в диалоговом окне выбора файла
 
Добрый день, Ув. Форумчане!

Столкнулся со следующей проблемой:
- есть необходимость средствами VBA выбирать файл на диске;
- для этого использую "FileDialog(msoFileDialogOpen)"
- все работает, но возник вопрос,
как после открытия диалогового окна "прокрутить" список файлов до последнего.файла?

Пробовал через "ActiveWindow.SmallScroll Down", но не работает.
Буду благодарен за любой совет.
 
Цитата
Alexey0185 написал:
как после открытия диалогового окна "прокрутить" список файлов до последнего.файла?
Никак
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
Alemox написал:
Никак
Такой вариант я рассматривал, но логика покоя не дает:
если на экране окно, в котором я могу мышью выполнить скроллинг, значит это можно сделать и программно.

Второй момент, что для выполнения скроллинга не хотелось бы "городить" много кода.
 
Цитата
Alexey0185 написал:
но логика покоя не дает
если проявить настойчивость - в лучшем случае через пару часов, в худшем через пару месяцев, но результат обязательно будет!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
А если через SendKeys(или Api) симитировать несколько нажатий клавиши Tab потом End, но это только идея, сам не пробовал.  
 
Доброе время суток
Цитата
DANIKOLA написал:
SendKeys
Можете представить доказательства, что открытому модальному окну можно что-то отправить из того же кода? WinApi - поможет, если нечто удастся запустить в отдельном потоке (тогда оттуда и SendKeys будет работать). Пора ТСу писать в поддержку Microsoft о крайне нужной всем функциональности :)  А то там в Excel 365 даже InitalView не работает.
 
Ігор Гончаренко, DANIKOLA, Андрей VG благодарю! Вектор направления понял.
Задача конечно не жизненно важная, но было очень интересно услышать мнение специалистов.
 
Цитата
Alexey0185 написал:
как после открытия диалогового окна "прокрутить" список файлов до последнего.файла?
Alexey0185, наверное Вам нужно найти последний сохраненный файл в папке? Поэтому Вы пытаетесь это сделать таким способом?
 
Да, именно так. Но файл может быть не один.
 
Цитата
Alexey0185 написал:
прокрутить" список файлов до последнего.файла
Цитата
Alexey0185 написал:
файл может быть не один
Это как? Последний всегда один ))
 
Цитата
Юрий М написал:
Это как? Последний всегда один ))
Просили больше не занимать!  :D
По вопросам из тем форума, личку не читаю.
 
А частенько так и бывает:за мной никого )
 
Все, налетели.
Написал человек глупость - зачем сразу на улицу без маски выгонять (

А вообще _Igor_61 спасибо! Навели на правильную мысль. Зачем скроллинг, если можно сразу открывать последний добавленный файл.
 
Alexey0185, последний файл можно записать реестре и открывать его можно без всяких файловых диалогов, а просто Workbooks.Open "полный путь файла взятый с реестра"
 
Сперва нужно определить, что значит последний, так как сперва запрошенный скроллинг в диалоге - это последний отсортированный по имении и по возрастанию. Если конечно имена формируются таким образом то да, последний будет совпадать, но если нет, то последний исходя из сортировки может быть по имени. по дате создания по дате модификации ... .
По вопросам из тем форума, личку не читаю.
 
Цитата
DANIKOLA написал:
последний файл можно записать реестре и открывать его можно без всяких файловых диалогов, а просто Workbooks.Open "полный путь файла взятый с реестра"
Спасибо за идею! Буду пробовать.
Тему можно закрывать.
Страницы: 1
Наверх