|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Здравствуйте. Вопрос такой: Из VB6 вызываю диалог открытия файла (например файла Excel) Делаю так: Application.Dialogs(xlDialogOpen) либо fileToOpen = Application.GetOpenFilename("Документы MSExcel (*.xls), *.xls,(*.xlsx), *.xlsx") Но загвоздка в том, что диалоги выбора файла всплывают ЗА основной формой, а зачастую и ЗА всеми окнами которые открыты в данный момент на экране. Что за чепуха? Как быть? Это происходит, после компиляции в exe. Если запускать из редактора VB6 то форма диалога как и положено появляется поверх остальных окон. Форум вроде почитал, но ответа так и не нашел. Очень надеюсь на вашу помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 00:02 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Так надо вывести эксель на передний план. Да и вообще, зачем из VB6 использовать экселевский диалог, если у него есть свой? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 08:25 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
А примерчик хорошего диалога VB6 не покажите. А то раньше работал из VBA Excel и такой проблемы не возникало, а с выбором файлов из VB6 сталкиваюсь в первый раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:12 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Нашел вот такой способ: Dim WSHShell, folder Set WSHShell = CreateObject("Shell.application") folder = WSHShell.browseforfolder(0, "Auai? iaiee", 0) , но опять же это выбор каталога, а не файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:10 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Да и этот способ возвращает только имя папки, а не путь целиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:13 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
он стесняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:47 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Antonariyон стесняется. Я вообще-то именно так и подумал сначала ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 14:28 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96, Завязывайте с VB6, в крайнем случае перепрыгивайте на VB.Net. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 14:43 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Это такой ОГРОМНЫЙ код ради того что бы всего то в VB6 выбрать файл? (теперь понятно почему VB6 загнулся) В любом случае спасибо, но боюсь, что я в нем не разберусь. Я вообще не программист по образованию, просто балуюсь иногда VBA и VB6. А по проще никак нельзя реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 15:21 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96Это такой ОГРОМНЫЙ код ради того что бы всего то в VB6 выбрать файл? (теперь понятно почему VB6 загнулся)на с++ код для выбора файла был бы такой же или еще больше, не понятно, почему с++ не загнулся. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 15:47 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96, Да ничто не загнулось. Для каждой задачи свой инструмент. Ну и нужно как-то развиваться, а баловаться - оно зачем? Код выше - это код модуля, просто киньте его в проект в виде отдельного модуля. код вызова примерно такой: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 16:06 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96Нашел вот такой способ: Dim WSHShell, folder Set WSHShell = CreateObject("Shell.application") folder = WSHShell.browseforfolder(0, "Auai? iaiee", 0) , но опять же это выбор каталога, а не файла.оно-то и для файлов, вроде, пригодно Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
но работает как-то очень странно ... Из одного и того же каталога, файлы htm, zip, xls - выбирает, а на dll, exe, cmd, bat - валится с "Method 'BrowseForFolder' of object 'IShellDispatch5' failed" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 17:25 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96А примерчик хорошего диалога VB6а чем штатный CommonDialog плох? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 17:57 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
to by-pass, Спасибо, теперь разобрался. Все заработало. Думаю этот вариант действительно самый оптимальный ввиду своей стабильности. to BrowseForFolder, Действительно, оказывается можно и файлы выбирать (не знал, спасибо за подсказку), но как замечено работает не очень стабильно. Хотя если, как в моем случае, выбору подлежат только файлы Excel , то вариант вполне рабочий. to Shocker.Pro, штатный CommonDialog может и не плох, но как его найти? У меня Visual basic portable и там такого я не нашел. Какой references надо подключить что бы появился CommonDialog ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 21:59 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
это в компонентах ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 23:12 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Shocker.Pro, Уже не помню, но разве этот ОСХ не нужно будет потом регистрировать, если кому-то передавать программулину? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2016, 09:33 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
by-pass, Нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2016, 09:37 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Shocker.Pro, У меня такого в компонента нет. Видимо из за того что у меня portable. Скачал comdlg32.ocx, компонент появился, но выдает ошибку , что то с лицензированием (у меня win 8, может с этим связано, а может не тот скачал) А раз выясняется что этот OCX на других компах придется ещё регистрировать, то пока альтернативы варианту предложенному, by-pass-ом я не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2016, 12:17 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
Alexxx96, Вопрос регистрации решается просто - создание инсталляшки. Другое дело, что если планируется передавать софт, написанный на VB6 на сторону, то можно огрести дополнительные ошибки у заказчика. А первое впечатление, испорченное выскакиванием всяких ошибок, это очень чревато... Я такое решаю тестирование на виртуальных машинах, но эти лишние "телодвижения" - оно нужно? И все таки, почему VB6? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2016, 13:01 |
|
Почему диалог выбора файлов всплывает за другими окнами?
|
|||
---|---|---|---|
#18+
by-passAlexxx96, ...... И все таки, почему VB6? Работа у меня экономическая и поэтому основные мои средства это Excel и VBA, а VBA и VB6 это родственники. Только из VBA exe-файл не сделать, а из VB6 сделать. А exe нужен что бы чьи-нибудь шаловливые ручки из соседних отделов ничего не попортили в коде. В начале я это решал проще-мне присылали файл на обработку и я его сам обрабатывал макросами VBA, но теперь времени стало нехватать. Ну и кроме синтаксиса бэйсика я в общем то ничего и не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2016, 15:34 |
|
|
start [/forum/topic.php?fid=60&msg=39353370&tid=2155385]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 137ms |
0 / 0 |