Guderian
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Во-первых, то что ты делаешь это не создание экземпляра экселя, а получение текущего активного. Т.е. если в этот момент эксель не был запущен, будет вываливаться с эксепшеном в противном случае твой пример работает так как надо работать. Во-вторых, имхо, лучший способ - через раннее связывание. Первым делом, добавляешь к проекту референс на excel.exe, что отразится на появлении трех новых неймспейсов. Excel, Microsoft.Office.Core и VBIDE. А дальше все просто. Из примера, думаю, все будет понятно. Код: Dim excel As Excel._Application excel = New Excel.ApplicationClass() excel.Visible = True | Скорость выше, IntelliSense в VS работает и т.д. Если уж очень надо создавать через позднее связывание, то надо использовать не GetObject, а CreateObject, т.е. Код: Dim excel As Object excel = CreateObject("Excel.Application") excel.Visible = True |
|