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

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

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

Буду очень благодарен за ответ или ссылку на тему или хэлп, нашел несколько вариантов открытия файлов на форуме, но, как мне кажется, они несколько специфичные.
...
Рейтинг: 0 / 0
Открыть файл из VBA
    #37961997
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Открыть файл из VBA
    #37962088
Macro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Огромное спасибо за ответ, все работает как мне и нужно.
...
Рейтинг: 0 / 0
Открыть файл из VBA
    #37962097
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или так
Код: vbnet
1.
shell "cmd/c c:\МойФайл.jpg"
...
Рейтинг: 0 / 0
Открыть файл из VBA
    #37962101
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, пробел пропустил
Код: vbnet
1.
shell "cmd /c c:\МойФайл.jpg"
...
Рейтинг: 0 / 0
Открыть файл из VBA
    #37962232
Macro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пересел за свой компьютер, а на нем код не заработал.

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

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

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


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

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

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

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

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

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

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

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

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

а у меня на одном ПК работает, а на соседнем ругается((
Подскажите,пожалуйста, как поправить?
...
Рейтинг: 0 / 0
Открыть файл из VBA
    #39651676
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Открыть файл из VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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