Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11872
Последний выпуск: 19.06.2015

Не удается открыть файл Excel

87K
12 декабря 2016 года
Arventur
3 / / 12.12.2016
Здравствуйте!

В программе Micrisoft Visual C++ не удается открыть файл Excel.
Проверка существования файла осуществляется успешно, а при попытке открыть файл ошибка.
Привожу текст программы:

// Создаем экземпляр приложения
HRESULT hr = vExcel.CreateInstance( __uuidof( Excel::Application ) );
if( SUCCEEDED(hr) && (vExcel != 0) )
{ // Если экземпляр приложения создать удалось
try
{ // Открываем файл
vBook = vExcel->Workbooks->Open(chShablon);
}
catch( _com_error )
{
vExcel->Quit();
vBook = NULL;
return(false);
}
}
485
15 декабря 2016 года
cronya
408 / / 03.01.2009
Ошибку исключения напишите сюда! мы не ванги, чего там у вас твориться)
и судя по вашу коду файл на существование вы не проверяете, не выдумывайте, только на наличие рабочей версии экселя есть проверка.
И полагаю такую вещь лучше писать на C#, ибо на Сях это гемморойно:
пример для последней версии excel...
Код:
using Excel = Microsoft.Office.Interop.Excel;
 Excel.Application excelApplication = null;
            try
            {
                excelApplication = new Excel.Application();
            }
            catch(Exception ex)
            {
                MessageBox.Show("Не удалось запустить Microsoft Excel. Причина: " + ex.Message);
            }
            finally
            {
                OpenFileDialog openDialog = new OpenFileDialog();
                openDialog.InitialDirectory = Application.StartupPath;
                openDialog.Filter = "Excel files(*.xls; *.xlsx)|*.xls;*.xlsx";
                if (openDialog.ShowDialog() == DialogResult.OK)
                {
                    Excel.Workbook book = null;
                    Excel.Worksheet sheet = null;
                    Excel.Range range = null;
                    try
                    {                        
                        book = excelApplication.Workbooks.Open(openDialog.FileName, Missing.Value, true, Missing.Value, Missing.Value,
                            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                            Missing.Value, Missing.Value);
                        excelApplication.Visible = false;

                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        sheet = (Excel.Worksheet)book.Worksheets.get_Item(1);
                        range = sheet.UsedRange;
            // тут всякие манипуляции
            book.Close(false, Missing.Value, Missing.Value);
                        excelApplication.Quit();
                    }
                }
может даже скорее все тут ошибка
 
Код:
vBook = vExcel->Workbooks->Open(chShablon);

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог