Проверка установлен или нет EXCEL - Visual Basic .NET
Формулировка задачи:
Всем добрый вечер! Есть программа в которой по нажатию на одну из кнопок запускается EXCEL файл. Как сделать проверку установлен или нет на компьютер EXCEL. Если установлен, то открываем файл, если нет - выходит сообщение что EXCEL'я НЕТ!
Нашел вот такой код:
Но при установленном на моем компьютере OFFICE и EXCEL в частности, выкидывает на строчку
MsgBox("На этом компьютере не установлен пакет MS Office")
Изначально был вот такой код:
Но данный код выводит сообщение о вопросе ЕСТЬ ЛИ УСТАНОВЛЕННЫЙ ОФИС. ЕСЛИ ДА, ТО ОТКРЫВАЕТ ФАЙЛ, ЕСЛИ НЕТ ТО ПРОСТО ЗАКРЫВАЕТ СООБЩЕНИЕ ВЫВОДЯ ГЛАВНУЮ ФОРМУ.
Но я хочу сделать это более автоматизированно и без помощью пользователя.
Решение задачи: «Проверка установлен или нет EXCEL»
textual
Листинг программы
Dim xlApp As Object = Nothing Try Dim xlType As Type = Type.GetTypeFromProgID("Excel.Application") If xlType Is Nothing Then Throw New Exception("Microsoft Excel не найден в системе") End If Try xlApp = xlType.InvokeMember(Nothing, Reflection.BindingFlags.CreateInstance, Nothing, Nothing, Nothing) Catch ex As Exception Throw New Exception("Ошибка при запуске Microsoft Excel", ex) End Try If Not IO.File.Exists(Application.StartupPath & "\Наклейки.xlsm") Then Throw New Exception("Файл не найден") End If Try xlApp.WorkBooks.Open(Application.StartupPath & "\Наклейки.xlsm") Catch ex As Exception Throw New Exception("Что-то пошло не так при загрузке файла", ex) End Try xlApp.Visible = True Catch ex As Exception MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error) 'MessageBox.Show(ex.ToString() & CStr(If((Not ex.InnerException Is Nothing), vbNewLine & ex.InnerException.ToString(), String.Empty)), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error) If Not xlApp Is Nothing Then Try xlApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlApp = Nothing GC.Collect() Catch End Try End If End Try
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д