А как запустить 'файл.xls' (не ехе) из VB
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



А как запустить 'файл.xls' (не ехе) из VB Expand / Collapse
Автор
Сообщение
23.06.2004 0:34
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.11.2005 21:02
Сообщ.: 79, Visits: 870
Как запустить файл 'Test.xls', например, из VB приложения.
Файл находитя в текущей папке приложения
Спасибо!
Сообщ. #825279
23.06.2004 10:38


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.04.2007 23:36
Сообщ.: 1 541, Visits: 16 997
Через ShellExecute


Сообщ. #825317
26.06.2004 19:30
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.11.2005 21:02
Сообщ.: 79, Visits: 870
Спасибо, Messir!
Вы как всегда лаконично и четко!
Но лучше-бы полный код. Дело в том, что exe файл там есть какие-то у меня коды... но это не то-что мне нужно.
Мне нужно открыть просто лист готового файла в текущей папке, к примеру я его обозвал "Test.xls'
В него пока я не прошу ничего записывать из VB, только открыть!
Ну что-то я отупел, неумею обяснять на бумаге...
Если можно еще раз поторяю всем вопрос.
Почеме-то ваш ответ не пришел на Email, хотя пртичку поставил!
Сообщ. #825823
27.06.2004 15:32
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 06.02.2008 16:08
Сообщ.: 132, Visits: 1 575
А чего там долго писать? Мессир правильно написал, этого достаточно ;-). Но код я всё-таки решил дать

Private Sub Command1_Click()
Shell ("C:\Program Files\Microsoft Office\Office\EXCEL.EXE C:\MyDocu~1\Book1-Macro.xls")
End Sub
Сообщ. #825851
29.06.2004 12:00


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
Эх, люди...

' *** В теле формы: ***
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&".



While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #825999
29.06.2004 18:10
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 06.02.2008 16:08
Сообщ.: 132, Visits: 1 575
2 Comanche
Еще бы!!! Ты как всегда, без API ни шагу ;-)
Сообщ. #826081
29.06.2004 18:11


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.04.2007 23:36
Сообщ.: 1 541, Visits: 16 997
2 Tever:
Хоть и с API, зато пример верный... ;)



Сообщ. #826082
29.06.2004 19:00


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
А без АПИ эту задачку просто не решить: не существует бэйсиковской функции, которая бы умела "разрешать" файловые ассоциации оболочки. Shell - не умеет. А ShellExecute (Win32 API) - могёт.

PS: под Win9x можно с помощью Shell сделать вызов: START Test.xls, но это некрасиво, да и под NT не работает...



While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #826092
29.06.2004 21:09
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 06.02.2008 16:08
Сообщ.: 132, Visits: 1 575
А я разве спорю? Ни в коем случае!
Сообщ. #826122
30.06.2004 12:01


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 13.12.2007 18:51
Сообщ.: 3 047, Visits: 33 391
:))


While (!Life.EOF) { You.Money ++; You.Girls.Add(new Girl(90,60,90)); BeHappy(); }
Сообщ. #826198
06.12.2009 1:00
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 14.12.2009 16:02
Сообщ.: 4, Visits: 12
РЕБЯТ ОГРОМНЕЙШЕЕ ВАМ СПАСИБО!!! ВЫ СПАСЛИ МОЙ ДИПЛОМ!!!
Сообщ. #918544
06.12.2009 23:20


Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 16.01.2010 4:14
Сообщ.: 11, Visits: 130
Comanche (29.06.2004)
А без АПИ эту задачку просто не решить: не существует бэйсиковской функции, которая бы умела "разрешать" файловые ассоциации оболочки. Shell - не умеет. А ShellExecute (Win32 API) - могёт.

PS: под Win9x можно с помощью Shell сделать вызов: START Test.xls, но это некрасиво, да и под NT не работает...

А сли галку поставить в ссылках и просто:??

Dim Ex As New Excel.Application

Ex.Workbooks.Open "C:\Мои документы\test.xls"

Сообщ. #918545
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.

Время GMT +3:00, Сейчас 10:11