Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть фаил? Открыть НЕ из фиксированной папки!!!! 
V
    Опции темы
Тутанхамец
Дата 11.1.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



А текущий каталог может быть не тем, из которого запустилась прога?

PM MAIL   Вверх
ruslan_rx
Дата 16.1.2007, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



Возник новый вопрос!
при прописании адреса на объект

Цитата
Shell "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE """ + App.Path & "\T_File\name.xls"""


у меня все нормально открывается!!! у меня стоит Офис 2003!!!!
после того когда я попробывал запустить на другой машине с Офисом 2000, то объект не запустился, и написал Фаил не найден!

может можно как то обойтись без конкретной привязки место нахождения Excel'я??

 smile 
PM MAIL ICQ   Вверх
Akina
Дата 16.1.2007, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(ruslan_rx @  16.1.2007,  08:50 Найти цитируемый пост)
может можно как то обойтись без конкретной привязки место нахождения Excel'я??

Конечно... вместо
C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE 
использовать
start EXCEL.EXE 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ruslan_rx
Дата 16.1.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



Цитата
start EXCEL.EXE 
 не идет! 

Ошибка 53! Фаил не найден!
PM MAIL ICQ   Вверх
bom
Дата 16.1.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



API "ShellExecute" заюзать - религия не позволяет?

Код

Call ShellExecute(0, "open", "T_File\name.xls", vbNullString, vbNullString, 0)


Для VB 2005:
Код

System.Diagnostics.Process.Start("T_File\name.xls")

PM MAIL   Вверх
ruslan_rx
Дата 17.1.2007, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



bom,  если ввести так как ты написал, 

Цитата
Call ShellExecute(0, "open", "T_File\name.xls", vbNullString, vbNullString, 0)


то пишет что Sab или Funtion не определена!!!
может подскажешь!!! что еще надо написать??? я в VB пока новичек, и еще почти ничего не знаю!
PM MAIL ICQ   Вверх
mihanik
Дата 17.1.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Терзают меня смутные сомнения...


Уважаемый ruslan_rx!!!

Ты пишешь программу на VB или на VBA?

Если это макрос Excel, то из самого макроса можно узнать место размещения файла EXCEL.EXE через Application.Path...

Если же ты из программы на VB6 хочешь это узнать, то кто мешает создать экземпляр Excel и у него спросить тот же самый Path?


Или я опять что-то не так понял...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
ruslan_rx
Дата 17.1.2007, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



mihanik, пишу на VB, в окне Form1 есть кнопка корорая ссылается на на фаил Excel'я!! И для того что бы открыть этот фаил я испльзовал команду:

Код
Shell "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE """ + App.Path & "\T_File\name.xls"""


и у меня все работало!!! Но когда я запустил этот фаил на другой машине (где стоит MS Office 2000) то он не запустился, а на других машинах с MS Office 2003 все прекрасно работает!!!

так как мне исправить что все запускалось не зависимо какой стоит ОФИС на машине?
PM MAIL ICQ   Вверх
Naghual
Дата 17.1.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Код

Option Explicit

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()
    ShellExecute Me.hwnd, vbNullString, "C:\Temp\Взаиморасчеты.xls", vbNullString, "C:\Temp", SW_SHOWNORMAL
End Sub



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
ruslan_rx
Дата 17.1.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



все отличие между 2000 и 2003 в пути !!!
если стоит 2000 то...
Код
Shell "C:\Program Files\Microsoft Office\OFFICE\EXCEL.EXE """ + App.Path & "\T_File\name.xls"""


а для 2003...
Код
Shell "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE """ + App.Path & "\T_File\name.xls"""



может тогда сначала определить версию офиса, или что выручайте!!!!
PM MAIL ICQ   Вверх
Naghual
Дата 17.1.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



См. выше.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
ruslan_rx
Дата 17.1.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



Naghual, Куда именно?? говори конкретно!!
PM MAIL ICQ   Вверх
mihanik
Дата 17.1.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



ruslan_rx, извини тупого....

Я так понимаю, что необходимо сделать так, чтобы открылся ехель с каким-то открытым документом?



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
ruslan_rx
Дата 17.1.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 30.11.2006
Где: Уфа

Репутация: нет
Всего: нет



mihanik,  нет! 

на ФОРМЕ есть кнопка....

Код

Private Sub E_Click()
Shell "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE """ + App.Path & "\E_File\Electric_file.xls"""
End Sub



и при ее нажатии соответственно нужно что бы фаил открылся, в данном случае команда рабочая! но только если установлен ОФИС 2003. при другом скажем при 2000 путь к ЕКСЕЛЮ меняется! и фаил не открывается вообще!

PM MAIL ICQ   Вверх
mihanik
Дата 17.1.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Код

Option Explicit

Private Sub Command1_Click()
Dim AppExcel As Excel.Application
Dim wBook As Workbook
Dim FileName As String

    ' Задаю имя файла с книгой Excel, где лежит рисунок
    FileName = "C:\Documents and Settings\Mihanik\Desktop\Книга1.xls"
    
    ' Запускаю Excel, открываю файл
    Screen.MousePointer = vbHourglass
    Set AppExcel = CreateObject("Excel.Application")
    Set wBook = AppExcel.Workbooks.Open(FileName)
    Screen.MousePointer = vbDefault

    AppExcel.Visible = True
    
    ' Место расположения Excel узнаём AppExcel.Path
    ' Например так MyPath = AppExcel.Path
    
    ' Закрываю книгу, выгружаю Excel
    ' wBook.Close
    Set wBook = Nothing
    Set AppExcel = Nothing
End Sub


Добавлено @ 13:39 
Я никак не могу понять, где лежит файл, который надо открыть?
Общие правила (не путь, а общий принцип) его расположения известны?

Добавлено @ 13:49 
Мой фрагмент будет работать, если в референсах  проекта подключить Microsoft Excel N Object Library

Это сообщение отредактировал(а) mihanik - 17.1.2007, 13:50


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1102 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.