2015-12-07 3 views
0

У меня есть excel как объект activeX в javascript. Мне кажется, что у меня что-то не хватает, чтобы узнать, как взаимодействовать с объектной моделью. В окне «Мои часы» отображается значение свойства «Значение» диапазона, в котором я пытаюсь извлечь данные из «неопределенного», когда я пытаюсь назначить «range.Value» массиву.Доступ к объектной модели Excel из Javascript

К сожалению, я не могу обновить устаревшие браузеры на своей машине, поэтому я не могу загружать фотографии.

Мой сценарий:

function open_files(A, B, C) 
{ 
var excel = new ActiveXObject("Excel.Application"); 
excel.Visible=true; 
excel.DisplayAlerts = false; 
var wbA = excel.Workbooks.Open(document.getElementById(A).value); 
var wbB = excel.Workbooks.Open(document.getElementById(B).value); 
var wbC = excel.Workbooks.Open(document.getElementById(C).value); 

excel.EnableEvents = false; 
excel.ScreenUpdating = false; 
excel.Calculation = -4135 //xlCalculationManual enumeration; 

var wb_collection = [wbA, wbB, wbC]; 

excel.Application.Run("'" + wbA.name + "'" + '!update_links'); 

var CLIN_list = [wbA.Sheets("Control Form").Range("B62:B141").value(1)] 

for (i = 0; i = CLIN_list.length; i++) 
{ 
    if (CLIN_list(i) > 0) 
    { 
    var CLIN_list_count = i 
    } 
} 

var decrement_range_start = wbA.Sheets("Fee & Decrement Table").Range("AJ14") 

//for (i = 0; i < 80; i++){ 
    //Sheets("Fee & Decrement Table").Cells(decrement_range_start.column+i 


// Model Setup for VBA 
wbA.Sheets("CONTROL FORM").Activate 
wbA.Sheets("CONTROL FORM").OLEObjects("TextBox21").Object.Text = wbB.fullname 
wbA.Sheets("CONTROL FORM").OLEObjects("TextBox22").Object.Text = wbC.fullname 

excel.Application.Run("'" + wbA.name + "'" + '!Run_JPO'); 

ответ

0

Я нашел ответ на другом форуме. Диапазон не может быть привязан непосредственно к массиву js, он должен быть преобразован. Строка ниже работает для заполнения моей переменной CLIN_list.

var CLIN_list = new VBArray(wbA.Sheets("Control Form").Range("B62:B141").value).toArray(); 
Смежные вопросы