Доступ к открытию файла

Обновлено: 01.07.2024

Элементы управления «Общий диалог OCX» обеспечивают простой способ сделать это, однако эти элементы управления могут привести к проблемам с версиями и распространением (особенно в приложениях среды выполнения) и, как правило, не рекомендуются. Вместо этого вы можете вызвать Win32 API напрямую, чтобы использовать общие диалоговые окна. Хотя код API несколько сложен, к счастью, Кен Гетц написал модуль, который вы можете повторно использовать в своих приложениях, сократив усилия до вырезания и вставки, а затем написав всего несколько строк, чтобы отобразить диалоговое окно.

Чтобы использовать диалоговое окно "Открыть файл" или "Сохранить файл", загрузите или откройте следующий файл, содержащий код Кена, затем скопируйте и вставьте все содержимое в новый модуль. Скачать код

В следующем коде показано, как отобразить диалоговое окно открытия файла в ответ на нажатие кнопки. Результаты смотрите на снимке экрана ниже.

Затемнить strFilter как строку
Затемнить strInputFileName как строку

strFilter = ahtAddFilterItem(strFilter, "Файлы JPEG (*.jpg, *.jpg)", "*.jpg;*.jpg")
strFilter = ahtAddFilterItem(strFilter, "Файлы bmp (*.bmp )", "*.bmp")
strFilter = ahtAddFilterItem(strFilter, "все файлы (*.*)", "*.*")

strInputFileName = ahtCommonFileOpenSave( _
Фильтр:=strFilter, _
OpenFile:= True , _
DialogTitle:="Выберите файл изображения. ", _
Флаги: =ahtOFN_HIDEREADONLY)

If Len(strInputFileName) > 0 Then
' Сделайте что-нибудь с выбранным файлом
Else
'Файл не выбран или пользователь отменил
End If

Вы можете изменить строку "Выберите файл изображения". ' для управления тем, что отображается в заголовке диалогового окна.

Диалоговое окно можно дополнительно настроить с помощью флажков. Доступные флаги см. в коде модуля, а подробное описание флагов — в документации по API. Объедините несколько флагов с помощью оператора «ИЛИ».


Диалоговое окно "Открыть файл"

Режим «сохранение файла».

Использование режима "Файл-сохранение" почти идентично режиму "Файл-Открытие" — просто установите для параметра "Открыть файл" значение "false". В следующем коде показано, как отобразить диалоговое окно File-Save в ответ на нажатие кнопки.

Затемнить strFilter как строку
Затемнить strInputFileName как строку

strFilter = ahtAddFilterItem(strFilter, "Файлы JPEG (*.jpg)", "*.jpg")

strInputFileName = ahtCommonFileOpenSave( _
Фильтр:=strFilter, _
OpenFile:= False , _
DialogTitle:="Сохранить изображение как. ", _
Флаги:= ahtOFN_HIDEREADONLY)

If Len(strInputFileName) > 0 Then
' Сделайте что-нибудь с выбранным файлом
Else
'Файл не выбран или пользователь отменил
End If

Вы можете изменить строку "Сохранить изображение как". ' для управления тем, что отображается в заголовке диалогового окна.

Диалоговое окно можно дополнительно настроить с помощью флажков. Доступные флаги см. в коде модуля, а подробное описание флагов — в документации по API. Объедините несколько флагов с помощью оператора «ИЛИ».

Вы ищете разработчика, который поможет вам разработать базу данных Access, веб-приложение, надстройку или другое решение? Свяжитесь со мной и узнайте, чем я могу помочь.

Иногда бывает очень полезно хранить пути к файлам в базе данных, такой как документ Word, электронные таблицы Excel и т. д. Чаще всего в этом случае необходимо предоставить пользователю способ открытия этих файлов без необходимости самостоятельной навигации. к каждому файлу самостоятельно. Следующая строка кода откроет данный файл в связанном с ним приложении по умолчанию.

Метод Application.FollowHyperlink

Application.FollowHyperlink "FullPath&FileName" Пример: Application.FollowHyperlink "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg"

Вы можете использовать Application.FollowHyperlink также можно использовать для открытия папки (не только файлов)

Эта техника всегда хорошо работала для меня. Тем не менее, некоторые обновления привели к появлению нового предупреждающего сообщения безопасности, а не просто к открытию файла. Таким образом, вы можете вместо этого использовать функцию GoHyperlink() Аллена Брауна, так как она устраняет эти сообщения и обеспечивает более плавный подход.

Метод пользовательской процедуры

Еще одна очень хорошая альтернатива — использование ExecuteFile, любезно предоставленного Грэмом Сичом (Access MVP). Приятной особенностью является то, что вы можете не только открыть файл, но также можете распечатать файл и управлять внешним видом стиля окна данного приложения.

'Источник: http://www.pacificdb.com.au/MVP/Code/ExeFile.htm Общедоступная константа SW_HIDE = 0 Общедоступная константа SW_MINIMIZE = 6 Общедоступная константа SW_RESTORE = 9 Общедоступная константа SW_SHOW = 5 Общедоступная константа SW_SHOWMAXIMIZED = 3 Общедоступная константа SW_SHOWMINIMIZED = 2 Общедоступная константа SW_SHOWMINNOACTIVE = 7 Общедоступная константа SW_SHOWNA = 8 Общедоступная константа SW_SHOWNOACTIVATE = 4 Общедоступная константа SW_SHOWNORMAL = 1 Общедоступная функция объявления ShellExecute Lib "shell32.dll" Псевдоним "ShellExecuteA" _ (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 Sub ExecuteFile (sFileName As String, sAction As String) Dim vReturn As Long 'sAction может быть "Открыть" или "Печать".

12 ответов на тему «MS Access VBA — открытие файла»

Если мне нужно открыть определенный файл на основе идентификатора персонала. Подойдет ли мне это приложение по гиперссылке? Если бы я сохранил полный путь и имя файла в таблице персонала, как я мог бы закодировать командную кнопку, чтобы воздействовать на нее? Большое спасибо

Вы должны иметь возможность изменять код в соответствии с вашими потребностями.

Например, если вы находитесь в форме, отображающей идентификатор конкретного сотрудника в элементе управления с именем «Ответственный», вы можете вызвать значение как переменную в методе FollowHyperlink. Что-то вроде:

Затемните sBasePath как строку Затемните sBaseFileName как строку sBasePath = "C." sBaseFileName = "Staff_" Application.FollowHyperlink sBasePath & sBaseFileName & Me.Responsible & ".xls"

Как вы упомянули, вы также можете создать таблицу, а затем извлечь из нее значения с помощью DLookup или какого-либо запроса. Но ответ сортировки — да, метод FollowHyperlink можно использовать с переменным именем файла.

Спасибо, что ответили мне. Является ли базовый путь/имя файла адресом базы данных или папкой, в которой хранятся мои файлы JPG? Как он получит идентификационный номер персонала, чтобы перейти к гиперссылке? Большое спасибо

sBasePath — это полный путь к документам, на которые вы хотите сделать гиперссылку

Что касается получения идентификационного номера персонала, это можно сделать путем объединения значения из активной формы (как в предыдущем примере), например: Me.Responsible или Me.StaffId.

Спасибо! очень полезно!

Уважаемый Дэн
Еще раз в поисках чего-то я нашел ваш сайт. И, как и во всех предыдущих случаях, я узнал что-то новое, нашел что-то полезное или вы сэкономили мне массу времени. (Время измеряется в тоннах? Это будут массивные часы? Я отвлекся.)
Детали не имеют значения. Я пишу это как общий комментарий. Большое вам спасибо за то, что военные называют множителем силы. Ваша работа великолепна!

Знаете ли вы, как переместить вкладку на ленте вправо?

Означает запуск с правого окна, а не с левого

Как насчет создания пустой группы, чтобы сдвинуть другую группу вправо?

Большое спасибо за пост.
Очень полезно

Приятель, это сэкономило мне кучу времени (у нас тоже есть большие часы). Большое спасибо за то, что собрали это вместе.

здравствуйте,
эта команда очень успешна.
Большое спасибо за то, что дали нам эту команду, о которой я никогда не думал.
Я так счастлив. благословен ты!!

Это работает только в Excel. Access не распознает приложение. Глупый ублюдок.

Оставить ответ Отменить ответ

Если вы нашли этот сайт полезным, подумайте о том, чтобы сделать пожертвование, чтобы компенсировать расходы на поддержание его работы, и поблагодарить вас.

Об авторе

Домашняя страница

Даниэль Пино — владелец компании CARDA Consultants Inc. Уже более 15 лет эта фирма специализируется в основном на разработке индивидуальных ИТ-решений для бизнеса, начиная от баз данных, автоматизированных рабочих книг и документов, веб-сайтов и веб-приложений. Постоянный участник многих форумов, включая Experts-Exchange, UtterAccess, Microsoft Answers и Microsoft MSDN, где он помогает огромному количеству людей с их различными ИТ-проблемами. Дэниел ежегодно получает награду Microsoft MVP с 2010 года, является признанным VIP-пользователем UtterAccess и получил множество наград от Experts-Exchange.

Последние сообщения

  • Поиск повторяющихся файлов с помощью VBA
  • Загрузить файл из Интернета
  • Отказ от доступа к форумам
  • Надежный отправитель домена Outlook не работает
  • Самовосстанавливающиеся переменные объекта
  • Power Automate отправил электронное письмо, не видя переменных
  • Давайте поговорим обо всех этих ошибках!
  • LinkedIn Остановите СПАМ
  • Доступ к DevCon 2022 уже здесь!
  • Определить, является ли таблица локальной или нет

Категории

Архивы

DevHut любезно предоставлен компанией CARDA Consultants Inc.

Все образцы кода, файлы для загрузки, ссылки и т. д. на этом сайте предоставляются «КАК ЕСТЬ» и без каких-либо гарантий. Вы принимаете на себя риски, если решите попробовать какой-либо код, примеры и т. д., представленные на этом сайте.

Обзор конфиденциальности

GeeksEngine размещается на HostGator.

Как открыть документ (локальный/сетевой файл или веб-страницу) из MS Access

При разработке приложений базы данных Access может потребоваться открыть документ (файл на локальном или сетевом диске или веб-страницу) пользователем или автоматически открыть документ в фоновом процессе, написанном на языке VBA. Например, после обработки заказов клиентов Access открывает веб-браузер, в котором отображается информация о продажах и заказах за этот месяц в формате веб-страницы HTML.

Существует три способа открыть документ с помощью Access: с помощью метода FollowHyperlink, функции Shell или метода Navigate.

<р>1. Использование метода FollowHyperlink

Объект приложения "Метод доступа по гиперссылке" открывает документ или веб-страницу, заданную адресом гиперссылки.

Веб-страница всегда открывается веб-браузером по умолчанию на вашем компьютере. Если вы хотите, чтобы веб-страница открывалась в веб-браузере, отличном от браузера по умолчанию, используйте второй метод, использующий функцию Shell.

Для файла на вашем локальном компьютере или в сети он будет открыт программой вашего ПК по умолчанию.

<р>2. Использование функции оболочки

Функция оболочки MS Access запускает исполняемую программу, поэтому, если мы укажем EXE-файл веб-браузера (например, Firefox.exe), веб-страница может быть открыта этим браузером, или если документ является файлом на вашем локальном компьютере. компьютере или сети веб-браузер предложит вам выбрать программу для открытия файла.

<р>3. Использование метода Navigate экземпляра Internet Explorer

Третий способ открывает документ только в Internet Explorer. Он создает экземпляр Internet Explorer, а затем использует метод Navigate для открытия веб-страницы или файла.

Вы можете открыть URL-адрес или файл, передав соответствующий путь методу Navigate.

Установив для свойства Visible значение False, окно Internet Explorer будет скрыто. Это может быть полезно при открытии документа, который нельзя открыть непосредственно в Internet Explorer, например при открытии документа Microsoft Word, поскольку окно IE вообще не открывается. Независимо от того, что вы укажете в свойстве Visible, если IE не может открыть документ, вам все равно будет предложено открыть или сохранить документ. Смотрите скриншот ниже.


Подробнее о методе CreateObject см. на странице Microsoft здесь.

Вот третий метод.

Чтобы протестировать эту функцию, используйте приведенный ниже код.

Этот веб-сайт размещен на HostGator.

Никакая часть не может быть воспроизведена без моего письменного разрешения. Названия программного и аппаратного обеспечения, упомянутые на этом сайте, являются зарегистрированными товарными знаками соответствующих компаний. Если какое-либо право нарушается, то это совершенно непреднамеренно. Напишите мне по электронной почте, и я быстро и с радостью исправлю это.

Итак, вы здесь, потому что пытаетесь открыть файл с расширением «.MDB», но у вас нет копии Microsoft Access, чтобы раскрыть его тайны. Что это за формат файла и, если уж на то пошло, что такое Microsoft Access?

Первый вопрос связан со вторым, но давайте начнем с самого файла MDB. Расширение является сокращением от Microsoft DataBase и является форматом, который Microsoft Access использовал до 2003 года. Новый формат, который давно заменил MDB, называется ACCDB. Если у вас есть файл MDB, возможно, он получен из устаревшего источника.


Что касается Access, то это компонент базы данных пакета повышения производительности Microsoft, в который также входят такие приложения, как Word и Excel. Давайте рассмотрим, как открыть файл mdb без Access.

Подумайте о покупке доступа

Да, эта статья предназначена для того, чтобы рассказать вам, как открыть файл MDB без доступа. Однако причина, по которой многие до сих пор задают этот вопрос, связана со временем, когда Access был продуктом премиум-класса, не входящим в стандартный пакет Microsoft Office.


С тех пор все сильно изменилось. Люди больше не покупают отдельные версии Office, а подписываются на услугу Office 365. Даже самый дешевый уровень сервиса включает настольную версию Access.

Месяц обслуживания стоит менее десяти долларов, и вы можете получить бесплатную пробную версию на один месяц с новой учетной записью Microsoft. Поэтому, прежде чем вы начнете свой путь по пути открытия файлов MDB без доступа, рассмотрите возможность использования этого очевидного ярлыка.

Импортировать с помощью Excel

Если у вас есть доступ к компьютеру с Microsoft Excel, но нет Access, вы можете открыть файл MDB и просмотреть его содержимое в электронной таблице.

Это не дает вам доступа к файлу в его собственном формате базы данных, но, по крайней мере, вы можете увидеть все содержащиеся в нем данные и даже экспортировать их в виде электронной таблицы или текстового файла с разделителями-запятыми.Если это все, что вам нужно, это быстрый и простой способ увидеть, что находится внутри этого файла MDB.

Используйте альтернативу с открытым исходным кодом для доступа

Microsoft Office — не единственная игра, когда речь идет о пакетах для повышения производительности. Существует множество бесплатных и открытых альтернатив стандартному пакету Microsoft.


LibreOffice — хорошее место для начала. Он поставляется с приложением под названием «Base», которое может подключаться к файлам базы данных Microsoft. Он ограничен различными способами. В частности, формы и запросы не работают. Однако вы по-прежнему можете просматривать таблицы с их данными с помощью Base.

Используйте онлайн-сервис открытия MDB

Если вы не хотите ничего устанавливать, чтобы открыть файл MDB, вы можете использовать онлайн-просмотрщик, работающий в браузере. Это особенно полезно, когда вы хотите использовать общедоступный компьютер или компьютер, на котором у вас нет прав администратора и поэтому вы не можете ничего установить.

Одним из таких средств просмотра, которое мы успешно протестировали, является MDB Opener. Как следует из названия, вы можете загрузить файл MDB или создать ссылку на него, а затем открыть его на веб-странице. Вы не можете никак редактировать файл, но можете экспортировать его в формат CSV или Excel и загрузить на локальный диск.


Если ваш файл MDB содержит конфиденциальную информацию, например медицинские записи, дважды подумайте, прежде чем загружать его в онлайн-сервис. Возможно, вы предоставляете эту информацию незащищенному сервису, который может быть даже незаконным, в зависимости от типа информации.

Использовать стороннее средство просмотра MDB

Поскольку есть много людей, которым нужно открывать файлы MDB без копии Access, есть также несколько сторонних приложений для просмотра MDB на выбор. MDB Viewer Plus отличается от остальных по ряду причин.


Во-первых, это совершенно бесплатно. Во-вторых, вы можете редактировать файлы MDB и файлы ACCDB. Более того, приложение является портативным, что означает, что вам не нужно его устанавливать. Однако это приложение предназначено только для Windows и использует несколько компонентов для работы с базами данных, встроенных в операционную систему Microsoft.

Использовать текстовый редактор

Простой текстовый редактор, такой как Блокнот Windows, также можно использовать для открытия файлов MDB при определенных обстоятельствах. Хотя нам самим не повезло, некоторые файлы MDB имеют только текстовое содержимое. Это означает, что текстовый редактор покажет вам кое-что


Большая часть содержимого MDB-файлов, которые мы открывали с помощью Блокнота, представляла собой беспорядок. Однако фрагменты простого текста, содержащиеся внутри, действительно давали подсказки о том, какую базу данных содержал файл. Это не рекомендуемый метод, но если ничего не помогает, это не помешает.

Преобразовать с (чужим) доступом

Мы собираемся снова предложить использовать Access в статье о том, как не использовать Access. В частности, стоит попросить кого-нибудь, у кого есть доступ, преобразовать файл в другой формат для вас.

Если кто-то отправил вам файл MDB, например, по электронной почте, вы можете попросить его повторно отправить его в виде электронной таблицы после преобразования с помощью своей копии приложения. Учитывая, насколько сейчас популярен Office 365, обязательно найдется кто-то, у кого на компьютере установлен Access, так что по крайней мере попробовать стоит.

Все дело в этой базе (данных)

Доступ больше не скрыт за премиальным платным доступом, как это было раньше, но все еще есть много людей, у которых нет доступа (без каламбура) к программному обеспечению. Надеемся, что одно из приведенных выше альтернативных решений подойдет вам и откроет доступ к древней базе данных чудес, ранее скрытой от посторонних глаз.

Сидни Батлер — социолог и фанатик технологий, пытающийся понять, как сосуществуют люди и технологии. Он имеет двадцатилетний опыт работы внештатным специалистом по компьютерам и более десяти лет в качестве исследователя технологий и преподавателя. Сидни уже более пяти лет является профессиональным писателем по технологиям и освещает такие темы, как виртуальная реальность, игры, кибербезопасность и трансгуманизм. Прочитать полную биографию Сидни

Понравился ли вам этот совет? Если это так, загляните на наш канал YouTube на нашем дочернем сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите кнопку ниже, чтобы подписаться!

Читайте также: