powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть файл Excel (или любой другой)
11 сообщений из 11, страница 1 из 1
Открыть файл Excel (или любой другой)
    #39877391
MSerg1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята доброе утро!
Помогите пожалуйста
Я открываю из Access файл Excel, все хорошо, команда - sFile = XL.GetOpenFilename("Excel,*.xls") . Но вот беда - окно "Открытие файла" норовит появиться на заднем плане. Скажем прямо, всегда появляется за окном БД (кому я морочу голову?)
Скажите пожалуйста, как обеспечить появление окна указания файла на переднем плане, чтобы пользователь всегда его видел? Ключ какой я упустил или что еще в команде GetOpenFilename?
Очень выручите.
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877404
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSerg1968, используй FileDialog
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877429
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSerg1968, Попробуй
Код: vbnet
1.
Application.FollowHyperlink "C:\Нужный документ.docx", , True
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877446
Шаман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ШаманMSerg1968, Попробуй
Код: vbnet
1.
Application.FollowHyperlink "C:\Нужный документ.docx", , True

Пардон, не внимательно прочитал условие. Не в тему ответил)
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877448
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSerg1968Я открываю из Access файл Excel, все хорошо, команда - sFile = XL.GetOpenFilename("Excel,*.xls") . Но вот беда - окно "Открытие файла" норовит появиться на заднем плане.
Эксель при этом "видимый". XL.Visible = True ?

Если "да", то вот это, перед sFile = XL.GetOpenFilename("Excel,*.xls") , должно помочь
Код: vbnet
1.
AppActivate XL.Caption
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877601
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub cmb_Click()
Dim fd As FileDialog 'библиорека Office подключена
Dim vrtSelectedItem As Variant, myPath, a
Set fd = Application.FileDialog(3)
   With fd
          .InitialFileName = "d:\excel\" 'путь для правого окна,по-умолчанию тек.каталог
                  If .Show = -1 Then
a = .SelectedItems(1)
           Else
           Exit Sub
          End If
     End With
 StartOfFile (a)
  Set fd = Nothing
End Sub
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877617
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для коллекции
WizHook.GetFileName
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877629
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл про StartOfFile(ShellExecute):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Option Compare Database
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" _
                (ByVal Hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWDEFAULT = 10
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOWNORMAL = 1
'====================================================================
Function StartOfFile(strNameFile As String)
Dim intResult As Integer
intResult = ShellExecute(Application.hWndAccessApp, "open", strNameFile, 0, 0, SW_SHOWNORMAL)
If intResult = 31 Then
    MsgBox "Незарегестрированный тип файла"
End If
End Function
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877975
MSerg1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем неравнодушным, читаю, думаю, пробую. Что-то пока не справился. AppActivate XL.Caption не сработало, писать процедуру большую пока не хочется, WizHook.GetFileName тоже не сработал.
А что не так с GetOpenFilename? Да и как вообще такое возможно, чтобы появление окна возможно было где-то еще кроме как на переднем плане? Парадокс какой-то, можно подумать что кому-то нужно чтобы окно открывалось за всеми! Вот как так-то?
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877987
MSerg1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, сработал ВизХук, спасибо тебе, Панург! Только визхук нужно правильно приготовить и подать. вот так -

WizHook.Key = 51488399
WizHook.GetFileName 0, "", sTitle, "", sFile, CurrentProject.Path, sFilter, 0, 0, 64, True

И вуаля, шикарное полнофункциональное диалоговое окно сразу в текущем каталоге поверх всех остальных окон

Спасибо вам всем!
...
Рейтинг: 0 / 0
Открыть файл Excel (или любой другой)
    #39877995
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSerg1968, ты выбрал пожалуй самый экзотичный из предложенных способ получить файловый диалог. Кстати, я бы предпочёл 21996014 , самый универсальный для всего офиса.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Открыть файл Excel (или любой другой)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]