VBA, чтобы открыть MyComputer в определенной папке - PullRequest
1 голос
/ 01 сентября 2010

Я только что унаследовал систему MS Access 2003, и мне нужно немного VBA, чтобы поместить за командную кнопку, чтобы открыть MyComputer в определенной папке для просмотра там файлов.Имя папки будет взято из поля в форме.У меня было

Application.FollowHyperLink "C: \" & Me! [Ref] (ссылка имеет формат abcd-1234)

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

есть какие-нибудь подсказки?(кроме доступа к биннингу!) спасибо

Ответы [ 2 ]

1 голос
/ 25 декабря 2013

Этот код всегда работает для меня:

Dim filePath = <"Insert the path of the directory to open inside of opening and closing parenthesis">

Application.FollowHyperlink filePath, vbNormalFocus

Обычно я храню несколько каталогов в таблице внутри СУБД, что помогает при связывании сотен изображений с базой данных вместо встраивания.Например, у меня есть таблица с именем «dbLocations».Внутри этой таблицы есть только два поля: 1) picLocation 2) Описание.

Поле picLocation имеет значение сетевого пути, т. Е. C: \ Мои документы или G: \ независимо от каталога или \\groups1 \ для UNC-путей.

Поле Description - это то, что оно подразумевает, описание picLocation.

Я использую таблицы для хранения расположений каталогов, поскольку они ссылаются на файлы (.jpg, .png) хранится на сетевом диске.Со временем каталоги могут меняться (я перемещаю папку в другое место, или если меняется UNC и т. Д.).

Если вы жестко закодируете местоположение (я) для нескольких сабвуферов или модулей, вам нужно будет изменить каждый из них;что очень неэффективно.Поэтому, чтобы сэкономить время и избавиться от головной боли, я использую функцию «Поиск домена», которая позволяет мне изменять местоположение файла только один раз и в легко доступном месте, а именно в таблице dbLocations.

По сути, я ищу значение местоположения внутри таблицы, где picLocation соответствует описанию Alert Pics.(Я создаю базу данных, которая будет использоваться для отслеживания нарушителей и других бродячих людей на работе)

Dim filePath as String

filePath = DLookup("picLocation", "dbLocations", "[Description] = 'Alert Pics'")
Application.FollowHyperlink filePath, vbNormalFocus    

С помощью этих трех строк простого кода вы можете перейти к определенному каталогу.

1 голос
/ 01 сентября 2010

Посмотрите, как выглядит текст, когда вы отправляете его в FollowHyperlink.Вы можете вставить такую ​​строку в ваш код:

MsgBox "C:\" & Me![ref]

Возможно, это не то, что вы ожидаете.Всегда хорошо проверить.

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

Сначала я подумал, что пробелы в имени папки могут создавать проблемы.Но я не думаю, что это ответ, потому что FollowHyperlink отлично работает для меня в этом примере:

Application.FollowHyperlink "C:\Access\spaces in name\"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...