Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Открытие файла Excel в Visual Basic 2010

Ответить
Настройки темы
Разное - [решено] Открытие файла Excel в Visual Basic 2010

Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Добрый день! Как открыть файл info.xlsx без за давания его полного пути?
Файл находится в папке Debug и включен в проект.

Отправлено: 11:41, 31-10-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Application.StartupPath + "\\info.xlsx"

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:00, 01-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Решил таким способом:
Код: Выделить весь код
Process.Start("info.xlsx", Environment.CurrentDirectory)

Отправлено: 13:02, 01-11-2011 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


если вообще не указывать путь, то по умолчанию будет идти поиск сначала в папке с программой, затем в системных папках, ну а если не найдет, то будет ошибка.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:44, 01-11-2011 | #4


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Delirium, Так и есть, Спасибо
Код: Выделить весь код
Process.Start("info.xlsx")

Отправлено: 13:56, 01-11-2011 | #5


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Delirium, как открыть файл info.xlsx без за давания его полного пути в этом примере:

Код: Выделить весь код
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim objXL, objWorkbook  ' Объявляем переменные

        ' Открытие файла
        objXL = CreateObject("Excel.Application")
        objXL.Visible = True

        objWorkbook = objXL.Workbooks.Open("C:\Users\kl27\Desktop\Проэкт\WindowsApplication1\WindowsApplication1\bin\Debug\info.xlsx")

End Sub
End Class

Отправлено: 19:36, 02-11-2011 | #6


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


neo21, Если файл info.xlsx будет лежать "рядом" с исполняемым файлом, то можно просто
Код: Выделить весь код
objWorkbook = objXL.Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory+"info.xlsx")
Если же нет, то без указания полного пути не обойтись.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Последний раз редактировалось LilLoco, 02-11-2011 в 21:54.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:19, 02-11-2011 | #7


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата Delirium:
то по умолчанию будет идти поиск сначала в папке с программой, затем в системных папках, ну а если не найдет »
Я бы сказал не в папке с программой, а в "текущей" папке. Не всегда же они совпадают? Или я не прав?

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:02, 02-11-2011 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
Или я не прав? »
Правы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:28, 02-11-2011 | #9


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Application.StartupPath всегда укажет на ту папку, где лежит exe-файл, поэтому во избежание ошибок лучше все таки указывать эту статическую переменную при прописывании имени файла. И обязательно надо делать проверку существования файла перед запуском:
Код: Выделить весь код
if(System.IO.File.Exist(Application.StartupPath + "\\file.xlsx"))
.....
else
MessageBox("File not found");

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:50, 03-11-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Открытие файла Excel в Visual Basic 2010

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - Ошибка в Word 2010 Microsoft Visual Basic for Application akalibr Microsoft Office (Word, Excel, Outlook и т.д.) 3 06-11-2011 21:53
VBS/WSH/JS - [решено] Открытие файла Excel с помощью vbs neo21 Скриптовые языки администрирования Windows 1 30-10-2011 20:08
Разное - [решено] Progressbar в Visual Basic 2010 neo21 Программирование и базы данных 4 30-10-2011 16:29
Разное - Visual Basic 2010: Проблемма при создании табулированного браузера Radeon06 Программирование и базы данных 0 09-05-2011 01:11
.NET - [решено] TextBox в Visual Basic 2010 - нужна помощь SharkyUA Программирование и базы данных 2 02-02-2011 01:06




 
Переход