|
|
|
Хочу в Access вызвать стандртное окно выбора файла???
|
|||
|---|---|---|---|
|
#18+
Через сервис-ActivX подключаю comdlg32, потом пытаюсь вставить объект в форму.... а он выдает: Попытка открыть форму содержащую обект OLE или элемент ActivX, или создать элемент ActivX..... Помогите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 06:19 |
|
||
|
Хочу в Access вызвать стандртное окно выбора файла???
|
|||
|---|---|---|---|
|
#18+
подключить библиотеку Office 10 Object Library Function OpenFile() As String Dim FFs As FileDialogFilters With Application.FileDialog(msoFileDialogOpen) Set FFs = .Filters ' задание фильтра для выбора файлов With FFs .Clear .Add "Все файлы", "*.*" End With .AllowMultiSelect = False 'допускаем выбор только 1 файла If .Show = False Then Exit Function 'если файл не выбран то выход из функции OpenFile = .SelectedItems(1) 'если файл выбран запомнить его End With End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 07:43 |
|
||
|
Хочу в Access вызвать стандртное окно выбора файла???
|
|||
|---|---|---|---|
|
#18+
В режиме конструктора формы идешь в меню Вставка-Элемент АктивИкс\r Выбираешь MS Common control. Он нормально должен встать. Если че не так, зарегистрируй этот компонент ручками через regserv32. \r \r А самое лучшее пользоваться не активИкс,а модулем класса. Все то же самое, тока компонент таскать за собой не надо.\r \r Я уже давал его в форум: /topic/24160 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 09:59 |
|
||
|
Хочу в Access вызвать стандртное окно выбора файла???
|
|||
|---|---|---|---|
|
#18+
Ну можно и без подключения ActiveX к проекту... Option Compare Database Option Explicit Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean Type MSA_OPENFILENAME ' Отбор строк, используемых в фильтрах окне диалога "Открытие". ' Для создания фильтров вызывает MSA_CreateFilterString(). ' Значение по умолчанию = Все файлы, *.* strFilter As String ' Исходный фильтр. ' Значение по умолчанию = 1. lngFilterIndex As Long ' Исходный каталог, для которого открывается окно диалога. ' Значение по умолчанию = текущий рабочий каталог. strInitialDir As String ' Исходное имя файлов, выводящихся в окне диалога. ' Значение по умолчанию = "". strInitialFile As String strDialogTitle As String ' Стандартное расширение имени файла, если не указано пользователем. ' Значение по умолчанию = системные значения (Открыть, Сохранить). strDefaultExtension As String ' Используемые флаги (см. список констант). ' Значение по умолчанию = отсутствие флагов. lngFlags As Long ' Полный путь к выбранному файлу. Если пользователь указал ' несуществующий файл, по команде "Открыть" возвращается ' только текст из поля "Имя файла". strFullPathReturned As String ' Имя выбранного файла. strFileNameReturned As String ' Позиция в полном пути (strFullPathReturned), с которой ' начинается имя файла (strFileNameReturned). intFileOffset As Integer ' Позиция в полном пути (strFullPathReturned), с которой ' начинается расширение имени файла. intFileExtension As Integer End Type Const ALLFILES = "Все файлы" Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As Long nMaxCustrFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustrData As Long lpfnHook As Long lpTemplateName As Long End Type Const OFN_ALLOWMULTISELECT = &H200 Const OFN_CREATEPROMPT = &H2000 Const OFN_EXPLORER = &H80000 Const OFN_FILEMUSTEXIST = &H1000 Const OFN_HIDEREADONLY = &H4 Const OFN_NOCHANGEDIR = &H8 Const OFN_NODEREFERENCELINKS = &H100000 Const OFN_NONETWORKBUTTON = &H20000 Const OFN_NOREADONLYRETURN = &H8000 Const OFN_NOVALIDATE = &H100 Const OFN_OVERWRITEPROMPT = &H2 Const OFN_PATHMUSTEXIST = &H800 Const OFN_READONLY = &H1 Const OFN_SHOWHELP = &H10 Private Sub MSAOF_to_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME) ' Данная процедура осуществляет переход от удобной ' структуры MSAccess к структуре win32. Dim strFile As String * 512 ' Инициализирует некоторые компоненты структуры. of.hwndOwner = Application.hWndAccessApp of.hInstance = 0 of.lpstrCustomFilter = 0 of.nMaxCustrFilter = 0 of.lpfnHook = 0 of.lpTemplateName = 0 of.lCustrData = 0 If msaof.strFilter = "" Then of.lpstrFilter = MSA_CreateFilterString(ALLFILES) Else of.lpstrFilter = msaof.strFilter End If of.nFilterIndex = msaof.lngFilterIndex of.lpstrFile = msaof.strInitialFile & String$(512 - Len(msaof.strInitialFile), 0) of.nMaxFile = 511 of.lpstrFileTitle = String$(512, 0) of.nMaxFileTitle = 511 of.lpstrTitle = msaof.strDialogTitle of.lpstrInitialDir = msaof.strInitialDir of.lpstrDefExt = msaof.strDefaultExtension of.flags = msaof.lngFlags of.lStructSize = Len(of) End Sub Private Function MSA_GetOpenFileName(msaof As MSA_OPENFILENAME) As Integer ' Открывает окно диалога "Открытие". Dim of As OPENFILENAME Dim intRet As Integer MSAOF_to_OF msaof, of intRet = GetOpenFileName(of) If intRet Then OF_to_MSAOF of, msaof End If MSA_GetOpenFileName = intRet End Function Private Sub OF_to_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME) ' Данная процедура осуществляет переход от структуры win32 ' к удобной структуре MSAccess. msaof.strFullPathReturned = Left$(of.lpstrFile, InStr(of.lpstrFile, Chr$(0))) msaof.strFileNameReturned = of.lpstrFileTitle msaof.intFileOffset = of.nFileOffset msaof.intFileExtension = of.nFileExtension End Sub Function FindTblSource(strSearchPath) As String ' Открывает окно диалога для поиска базы данных Борей ' пользователем. Возвращает полный путь к файлу Борей. On Error Resume Next Dim msaof As MSA_OPENFILENAME ' Задает параметры окна диалога. msaof.strDialogTitle = "Поиск файла данных" msaof.strInitialDir = strSearchPath msaof.strFilter = MSA_CreateFilterString("Все файлы", "*.*") ' Вызывает подпрограмму окна диалога. MSA_GetOpenFileName msaof ' Возвращает путь и имя файла. FindTblSource = Trim(msaof.strFullPathReturned) End Function Sub test() FindTblSource "test" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 10:46 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32137219&tid=1681856]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 365ms |

| 0 / 0 |
