Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить установлен ли в системе Excel? 
:(
    Опции темы
albert21
  Дата 30.4.2006, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем привет!
Сразу говорю, что поиском по форуму я пользовался!!! Как работать с Excel там описано, но возможен случай когда Excel на машине не установлен! Отсюда вопрос: как это проверить? 
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
VisualProgrammerNET
Дата 30.4.2006, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


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

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



Ну... пошли какой-нить запрос к файлам экселя. Если вылетит исключение, значит не установлен =) 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
ivashkanet
Дата 1.5.2006, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Попробуй создать класс экселя, запусти приложение.
Если выскочит исключение, то эксель не установлен smile  
PM MAIL WWW ICQ   Вверх
VisualProgrammerNET
Дата 1.5.2006, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


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

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



Цитата(ivashkanet @  1.5.2006,  18:53 Найти цитируемый пост)
Попробуй создать класс экселя, запусти приложение.Если выскочит исключение, то эксель не установлен 


Можно было просто написать: см. пред. пост  smile  ( smile ) 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
ivashkanet
Дата 1.5.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(VisualProgrammerNET @  30.4.2006,  21:07 Найти цитируемый пост)
Ну... пошли какой-нить запрос к файлам экселя. Если вылетит исключение, значит не установлен =) 

Ты про это???
Тогда я не понял твой ответ. smile 
А что значит
Цитата
запрос к файлам экселя
  smile  
PM MAIL WWW ICQ   Вверх
VisualProgrammerNET
Дата 1.5.2006, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


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

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



Значит, что "попробуй сделать что-нибудь такое, чего нельзя без файлов экселя". ну ты привёл пример =) 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Ch0bits
Дата 1.5.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Вот, написал как найти excel.  smile 
Код

/*
 * Created by SharpDevelop.
 * User: Вадим
 * Date: 01.05.2006
 * Time: 23:01
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using Microsoft.Win32;
using System.IO;

namespace FindExcel
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string Path = null;
            bool IsFound = false;
            
            // Перебираем версии с 9 по 11(Office 2003)
            for(int ver=9; ver<=11; ver++)
            {
                RegistryKey RK = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MICROSOFT\\OFFICE\\"+ver.ToString()+".0\\Excel\\InstallRoot");
                try
                {
                    Path=RK.GetValue("Path").ToString();
                }
                catch
                {
                    // Нет такого ключа или параметра -> погнали дальше
                    continue;
                }    
                if (Path!=null)
                {
                    if (File.Exists(Path+@"\Excel.exe"))
                    {
                        Console.WriteLine("Excel найден! Версия "+ver.ToString());
                        IsFound = true;
                        break;
                    }
                }
            }
            
            if (!IsFound)
                Console.WriteLine("Нет excel'я");
            
            Console.ReadKey();
        }
    }
}
  

Это сообщение отредактировал(а) Ch0bits - 1.5.2006, 22:42
PM WWW   Вверх
ivashkanet
Дата 1.5.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Ch0bits, слишком мудрено, ИМХО smile 
А так 
Код

try{
// создается класс ExcelApp и запускается приложение
}
cath("не помню что там внутри пишется ;-) "){
// не установлен Excel, работать не могу!!!!!
}

Все четко и понятно  smile 
 
PM MAIL WWW ICQ   Вверх
Wanderer2019
Дата 1.5.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



с реестром я бы так не заморачивался...
а что если не всегда путь такой? 
пасно! 
PM ICQ MSN   Вверх
VisualProgrammerNET
Дата 2.5.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


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

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



Не, здесь кстати всё в порядке. Реестр - вещь святая. Можешь на неё положиться. 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Exception
Дата 2.5.2006, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ИМХО, лучше пользоваться реестром. 
PM   Вверх
ivashkanet
Дата 2.5.2006, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(Exception @  2.5.2006,  05:57 Найти цитируемый пост)
ИМХО, лучше пользоваться реестром. 

Обоснуй  smile  
PM MAIL WWW ICQ   Вверх
Exception
Дата 2.5.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Скажи мне, что лучше - проверить существование файла через File.Exists или открыть его и ловить исключение? Да и реестр позволяет узнать версии. 
PM   Вверх
ivashkanet
Дата 2.5.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(Exception @  2.5.2006,  16:02 Найти цитируемый пост)
File.Exists или открыть его и ловить исключение

Хм.. а чем тебе не нравятся исключения smile 
ИМХО, и так и так можно.

Мое мнение: "Словленное исключение -- это не исключение" smile  
PM MAIL WWW ICQ   Вверх
Exception
Дата 2.5.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Исключения должны возникать при появлении исключительных ситуаций. Это весьма философский вопрос, просто всегда лучше лишний раз не рожать код, выдающий исключения.

Добавлено @ 19:44 
Исключения должны возникать при появлении исключительных ситуаций. Это весьма философский вопрос, просто всегда лучше лишний раз не рожать код, выдающий исключения. 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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