Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Открытие файла другой программой - макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие файла другой программой - макросом (Макросы/Sub)
Открытие файла другой программой - макросом
rotten41 Дата: Воскресенье, 26.02.2017, 19:26 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, уважаемые программисты.
Помогите с решением вопроса.

У меня на Windows7 есть такая программа КОМПАС 3Д - для рисования чертежей.
Чтобы открыть файл чертежа - надо нажать "Файл"-"Открыть"- и выбрать файл...

Подскажите как этот выбрать не из программы, а при помощи макроса на листе эксель?

То есть адрес нужного файла известен - и введен в желтую ячейку. Название программы тоже известно "КОМПАС 3Д".
Программа открыта. При нажатии на кнопку макроса - файл "переносится" в программу Компас и автоматически открывается.
К сообщению приложен файл: 785.xls (28.0 Kb)
 
Ответить
СообщениеЗдравствуйте, уважаемые программисты.
Помогите с решением вопроса.

У меня на Windows7 есть такая программа КОМПАС 3Д - для рисования чертежей.
Чтобы открыть файл чертежа - надо нажать "Файл"-"Открыть"- и выбрать файл...

Подскажите как этот выбрать не из программы, а при помощи макроса на листе эксель?

То есть адрес нужного файла известен - и введен в желтую ячейку. Название программы тоже известно "КОМПАС 3Д".
Программа открыта. При нажатии на кнопку макроса - файл "переносится" в программу Компас и автоматически открывается.

Автор - rotten41
Дата добавления - 26.02.2017 в 19:26
Pelena Дата: Воскресенье, 26.02.2017, 20:10 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Почитайте, может это ищете. Как из Excel обратиться к другому приложению


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Почитайте, может это ищете. Как из Excel обратиться к другому приложению

Автор - Pelena
Дата добавления - 26.02.2017 в 20:10
Саня Дата: Воскресенье, 26.02.2017, 21:04 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
в отдельном модуле:
[vba]
Код
Option Explicit

Private 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

function fOpenFile(sFPath As String) as boolean
    On Error Resume Next    
    fOpenFile = ShellExecute(0&, "Open", sFPath, _
                           vbNullString, vbNullString, 1&) > 32    
End Sub

' использовать функцию так:
sub UsingOf()
   if not fOpenFile("здесь_полный_путь_к_файлу") Then
       msgbox "не удалось открыть файл!"
   end if
end sub
[/vba]

файл должен открыться виндой в приложении по-умолчанию для этого типа файлов

если у вас 64-битный офис, то ищите в интернете объявление api-функций для 64-х битного офиса


Сообщение отредактировал Саня - Воскресенье, 26.02.2017, 21:07
 
Ответить
Сообщениев отдельном модуле:
[vba]
Код
Option Explicit

Private 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

function fOpenFile(sFPath As String) as boolean
    On Error Resume Next    
    fOpenFile = ShellExecute(0&, "Open", sFPath, _
                           vbNullString, vbNullString, 1&) > 32    
End Sub

' использовать функцию так:
sub UsingOf()
   if not fOpenFile("здесь_полный_путь_к_файлу") Then
       msgbox "не удалось открыть файл!"
   end if
end sub
[/vba]

файл должен открыться виндой в приложении по-умолчанию для этого типа файлов

если у вас 64-битный офис, то ищите в интернете объявление api-функций для 64-х битного офиса

Автор - Саня
Дата добавления - 26.02.2017 в 21:04
rotten41 Дата: Воскресенье, 26.02.2017, 22:48 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Саня, ясно.
Спасибо. Буду разбираться.
 
Ответить
СообщениеСаня, ясно.
Спасибо. Буду разбираться.

Автор - rotten41
Дата добавления - 26.02.2017 в 22:48
Alex_ST Дата: Понедельник, 27.02.2017, 08:45 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Саня,
а если для открытия используется программа по умолчанию, то вместо API можно открыть намного проще встроенной функцией[vba]
Код
ThisWorkBook.FollowHyperlink FullFileName   ' FullFileName - полный путь к файлу
[/vba]Ну а чтобы не получать ошибку при отсутствии файла, то сначала можно проверить его наличие функцией[vba]
Код
Function ExistFile(FullFileName$) As Boolean : ExistFile = Dir(FullFileName) <> "" : End Function
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 27.02.2017, 21:44
 
Ответить
СообщениеСаня,
а если для открытия используется программа по умолчанию, то вместо API можно открыть намного проще встроенной функцией[vba]
Код
ThisWorkBook.FollowHyperlink FullFileName   ' FullFileName - полный путь к файлу
[/vba]Ну а чтобы не получать ошибку при отсутствии файла, то сначала можно проверить его наличие функцией[vba]
Код
Function ExistFile(FullFileName$) As Boolean : ExistFile = Dir(FullFileName) <> "" : End Function
[/vba]

Автор - Alex_ST
Дата добавления - 27.02.2017 в 08:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие файла другой программой - макросом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!