将 sheet 传递给 vbscript 中的函数

Pass sheet to a function in vbscript

函数 A1 正在调用函数 A2。在 A1 中,创建了 excel 并填充了很少的值。在 A2 函数中填充了更多值。但它显示为错误,因为 sheet 不是 defined.How 将 sheet 传递给函数。

创建excel对象

set objExcel = CreateObject( "Excel.Application" )

打开excel并创建工作簿对象

Set objWorkbook = objExcel.Workbooks.Open("filePath")

创建工作表对象然后您就可以访问

worksheet = 1 'or your sheet number 
Set objWorksheet = objWorkbook.Worksheets(worksheet)

更新: 您可以像其他参数一样将对象传递给函数。在这里,我创建了一个名为 main() 的函数并创建了一个工作簿和一个工作表,然后我将工作簿对象传递给 visibleExcel() 函数。

dim objWorkbook , objExcel
call main()
function main()
    excelPath = "D:\Development\Vbs\test.xlsx"
    set objExcel = CreateObject( "Excel.Application" )
    Set objWorkbook = objExcel.Workbooks.Open(excelPath)
    call visibleExcel(objExcel)
end function

function visibleExcel(obExcel)
    obExcel.Visible = true      
end function