Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Открыть файл из VBA / 12 сообщений из 12, страница 1 из 1
18.09.2012, 12:28
    #37961982
Macro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Добрый день.

Помогите определиться с таким вопросом.
В базе данных храниться путь к файлам jpg
Необходимо по кнопке открыть файл стандартным просмотрщиком Windows, ну или той программой, которая установлена в этом качестве на компьютере.

Как это можно сделать? Как в общем случае открывать файлы на VBA
(БД на Акс2010)

Буду очень благодарен за ответ или ссылку на тему или хэлп, нашел несколько вариантов открытия файлов на форуме, но, как мне кажется, они несколько специфичные.
...
Рейтинг: 0 / 0
18.09.2012, 12:34
    #37961997
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Код: vbnet
1.
Call ShellExecute(0, "open", "c:\файлам.jpg", "", "", SW_SHOWNORMAL)


в модуль добавить объявление функции и константы:
Код: vbnet
1.
2.
3.
4.
Public Declare Function ShellExecute Lib "shell32.dll" Alias "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 Const SW_SHOWNORMAL = 1
...
Рейтинг: 0 / 0
18.09.2012, 13:05
    #37962088
Macro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Shocker.Pro,
Огромное спасибо за ответ, все работает как мне и нужно.
...
Рейтинг: 0 / 0
18.09.2012, 13:08
    #37962097
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Или так
Код: vbnet
1.
shell "cmd/c c:\МойФайл.jpg"
...
Рейтинг: 0 / 0
18.09.2012, 13:10
    #37962101
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Пардон, пробел пропустил
Код: vbnet
1.
shell "cmd /c c:\МойФайл.jpg"
...
Рейтинг: 0 / 0
18.09.2012, 13:50
    #37962232
Macro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Пересел за свой компьютер, а на нем код не заработал.

При попытке объявить функцию и константу получаю ошибку (смотрите рисунок)

shell "cmd /c c:\МойФайл.jpg" - открывает окно с cmd.exe

такой вариант Shell ("d:\1.jpg""1") (из хэлпа) - выдает ошибка file not found


возможно у меня в Access что то не подключено?
...
Рейтинг: 0 / 0
18.09.2012, 13:51
    #37962238
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Объявление функции нужно размещать не в модуле объекта, а просто в модуле.
...
Рейтинг: 0 / 0
18.09.2012, 14:03
    #37962267
Macro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Shocker.Pro,
да, так все работает, еще раз спасибо.

Кроме того подобрал синтаксис и для shell

Код: vbnet
1.
Shell ("explorer.exe /,""D:\1.jpg")

- открывает файл

Код: vbnet
1.
Shell ("explorer.exe /,""D:\1") 

- открывает папку, но она свернута, как вывести ее поверх окон.
У Shell есть параметры в плане фокуса, но не могу правильно написать - орет ошибку.

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

Нужно лезть в хелп.
если есть минутка черкните пару строк по поводу того, как открыть папку?
если нет, то полезем в горы )) все равно нужно учить это дело!
...
Рейтинг: 0 / 0
18.09.2012, 14:07
    #37962284
Macro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Использовал ShellExecute для открытия папки, к сожалению, Shell так и не запустил
...
Рейтинг: 0 / 0
18.09.2012, 14:45
    #37962395
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Так пусть Казанский и расскажет

Я пользуюсь ShellExecute - работает хорошо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
29.05.2018, 11:57
    #39651667
Rikozenit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Shocker.Pro,

а у меня на одном ПК работает, а на соседнем ругается((
Подскажите,пожалуйста, как поправить?
...
Рейтинг: 0 / 0
29.05.2018, 12:10
    #39651676
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть файл из VBA
Rikozenit,
Для x64 надо вот так
Код: vbnet
1.
2.
3.
public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
        ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr



Или же почитайте про условную компиляцию
https://msdn.microsoft.com/ru-ru/library/office/ee691831(v=office.14).aspx
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Открыть файл из VBA / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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