2015-03-31 5 views
0

Не знаете, сколько людей знают о WinWrap Basic language, который поддерживает .NET-инфраструктуру. Но в этом моя проблема. Надеюсь, что кто-то знает о языке.WinWrap CreateObject («Excel.Application») Несколько экземпляров

Я использую его для связи с Excel 2010. В основном я извлекаю данные для запатентованного формата данных и выплевывая его в Excel. Следующие выполняются отлично, когда никакие дополнительные экземпляры Microsoft Excel 2010 не активны во время запуска сценария.

xExcel = CreateObject("Excel.Application") 
xBook = xExcel.Workbooks.Open(XLFilePath) 
xSheet = xBook.Worksheets(“Sheet1”) 
xExcel.Visible = False 
xSheet.Cells(1,1).Value = "Study Name" 

Однако, если дополнительный экземпляр Excel 2010 активируется вручную пользователем во время следующего запуска сценария, ошибки сценария отсутствуют.

xExcel = CreateObject("Excel.Application") 
xBook = xExcel.Workbooks.Open(XLFilePath) 
xSheet = xBook.Worksheets(“Sheet1”) 
xExcel.Visible = False  
Do 
    xSheet.Cells(1,1).Value = "Study Name" 
Loop 

Ребята WinWrap говорят, что CreateObject() в WinWrap простой код, который вызывает CoCreateInstance API. Я как бы потерялся там. Может кто-нибудь помочь мне понять, как создать несколько экземпляров Excel.

Редактировать Я получаю Runtime 50290 Особая ошибка приложения.

+0

Вы должны указать, какая ошибка возникает в какой строке кода. И почему бесконечный цикл во втором примере кода? Может быть, это причина ошибки? –

+0

Нет бесконечного цикла, чтобы просто имитировать мой скрипт, работающий в течение длительного периода времени, делая разные вещи, в то время как кто-то будет управлять Excel вручную. У меня на самом деле нет бесконечного цикла в моем коде. Я получаю Runtime 50290 Application Specific Error. – RahulD

ответ

0

Вы пробовали GetObject?

Dim objExcel As Object 
On Error Resume Next 
Set objExcel = GetObject(, "Excel.Application") 
With objExcel 
    'do something 
End With 
Смежные вопросы