Вернуться   Форум программистов > Форум Программирование > Форум Visual Basic

Visual Basic

Программирование на Visual Basic

Ответ
 
Старый 23.06.2004, 05:34   #1
OpelD
Пользователь
 
Регистрация: 18.06.2003
Сообщений: 79
OpelD пока не определено
По умолчанию А как запустить 'файл.xls' (не ехе) из VB

Как запустить файл 'Test.xls', например, из VB приложения.
Файл находитя в текущей папке приложения
Спасибо!
OpelD вне форума  
Старый 23.06.2004, 15:38   #2
Messir
Местный
 
Регистрация: 05.08.2003
Сообщений: 1,407
Messir пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

Через ShellExecute
Messir вне форума  
Старый 27.06.2004, 00:30   #3
OpelD
Пользователь
 
Регистрация: 18.06.2003
Сообщений: 79
OpelD пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

Спасибо, Messir!
Вы как всегда лаконично и четко!
Но лучше-бы полный код. Дело в том, что exe файл там есть какие-то у меня коды... но это не то-что мне нужно.
Мне нужно открыть просто лист готового файла в текущей папке, к примеру я его обозвал 'Test.xls'
В него пока я не прошу ничего записывать из VB, только открыть!
Ну что-то я отупел, неумею обяснять на бумаге...
Если можно еще раз поторяю всем вопрос.
Почеме-то ваш ответ не пришел на Email, хотя пртичку поставил!
OpelD вне форума  
Старый 27.06.2004, 20:32   #4
Tever
Местный
 
Регистрация: 09.01.2001
Сообщений: 124
Tever пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

А чего там долго писать? Мессир правильно написал, этого достаточно ;-). Но код я всё-таки решил дать
Код
1
2
3
4
5
 
Private Sub Command1_Click()
Shell ('C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE C:MyDocu~1Book1-Macro.xls')
End Sub
 
Tever вне форума  
Старый 29.06.2004, 17:00   #5
Comanche
Местный
 
Регистрация: 30.09.2001
Сообщений: 2,728
Comanche пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

Эх, люди...
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
' *** В теле формы: ***
Private Const SW_SHOWNORMAL = 1&
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
'
Private Sub Command1_Click()
    Dim appPath As String
    appPath = App.Path
    If Right$(appPath, 1) <> ' ' Then appPath = appPath & ' '
    ShellExecute Me.hWnd, 'Open', appPath + 'Test.xls', '', appPath, SW_SHOWNORMAL
End Sub
 
Если в модуле (не в форме), то вместо 'Me.hWnd' поставьте '0&'.
Comanche вне форума  
Старый 29.06.2004, 23:10   #6
Tever
Местный
 
Регистрация: 09.01.2001
Сообщений: 124
Tever пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

2 Comanche
Еще бы!!! Ты как всегда, без API ни шагу ;-)
Tever вне форума  
Старый 29.06.2004, 23:11   #7
Messir
Местный
 
Регистрация: 05.08.2003
Сообщений: 1,407
Messir пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

2 Tever:
Хоть и с API, зато пример верный...
Messir вне форума  
Старый 30.06.2004, 00:00   #8
Comanche
Местный
 
Регистрация: 30.09.2001
Сообщений: 2,728
Comanche пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

А без АПИ эту задачку просто не решить: не существует бэйсиковской функции, которая бы умела 'разрешать' файловые ассоциации оболочки. Shell - не умеет. А ShellExecute (Win32 API) - могёт.

PS: под Win9x можно с помощью Shell сделать вызов: START Test.xls, но это некрасиво, да и под NT не работает...
Comanche вне форума  
Старый 30.06.2004, 02:09   #9
Tever
Местный
 
Регистрация: 09.01.2001
Сообщений: 124
Tever пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

А я разве спорю? Ни в коем случае!
Tever вне форума  
Старый 30.06.2004, 17:01   #10
Comanche
Местный
 
Регистрация: 30.09.2001
Сообщений: 2,728
Comanche пока не определено
По умолчанию RE: А как запустить 'файл.xls' (не ехе) из VB

)
Comanche вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
Как с помощью Adodc добавить данные в базу access 2000? Visual Basic
Как с помощью Adodc добавить данные в базу access 2000? делаю так: Adodc1.Recordset.AddNew добавляю данные Adodc1.Recordset.MoveLast при этом происходит ошибка что делать?
DekinD
Как подключиться к Oracle через контроль Data? Visual Basic
Можно заодно и про подключение MS SQL. Заранее благодарен.
AlexanderS
Visual Basic WinSock и 100%-ная загрузка CPU
Добрый день! Кто-нибудь знает, как снизить загрузку проца при длительном приеме (передаче) данных через WinSock, а то у меня уже при 8-ти работающих экземплярах Winsock'а, связанных с восемью...
x-jek
Помогите с методом POST в Internet Transfer Control Visual Basic
Пишу следующий код Dim strURL As String, strFormData As String strURL = 'http://www.my-site.com/page.php' strFormData = 'mydata=12345' Inet.Execute strURL, 'POST', strFormData После выполнения...
SLTK
Конвертация даты под SQL запрос. Visual Basic
Я делаю запрос в базу строкой 'SELECT * FROM Trans WHERE Trans_DateStart BETWEEN #'01/06/2004'# AND #30/06/2004# ORDER BY Trans_DateStart' И получаю следующее: 31.01.2004 и 25.06.2004 Почему?...
warlord@au.ru
Как в DAO определить открыт ли рекордсет? (для обработки ошибок) Visual Basic
В ADO это ясно как сделать? If rst.State Then rst.Close End If А в DAO? Или же на закрытие рекордсета можно в принципе забить если после ошибки все равно функция...
Pantalone



Текущее время: 05:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru