用于并行处理多个excel工作簿的脚本

时间:2016-03-10 18:56:06

标签: excel excel-vba vbscript vba

我正在使用vbscript(.vbs文件)对excel执行读/写操作。

该脚本打开现有的excel文件并将数据读入/写入其中。

如果只打开一个excel文件,则没有问题。

但是,当脚本运行时,如果我打开另一个excel文件并专注于这个新打开的文件,则脚本将失败并退出。

我正在使用工作簿的句柄进行读/写。样品在下面。

Set xlobj = GetObject(, "Excel.Application")
Set wbobj = xlobj.Workbooks.Open(filename)
For iRow = FIRSTROW To LASTROW 
    With wbobj.Sheets(sheetname) 
        If .Range("B" & CStr(iRow)) = "FREE" Then 
            .Range("B" & CStr(iRow)).Font.Color = RGB(0, 0, 255) 
            .Range("D" & CStr(iRow)) = vbNullString 
        Else 
            .Range("B" & CStr(iRow)).Font.Color = RGB(255, 0, 0) 
        End If 
    End With 
Next

如果有办法让脚本工作,即使用户正在处理不同的Excel工作簿和/或有更好的选择,也需要你的帮助。

感谢。 乙

1 个答案:

答案 0 :(得分:0)

让您的代码创建并使用自己的Excel实例,而不会使其可见。您的代码将在完成后关闭该Excel实例(请记住在任何终止错误处理程序中执行此操作)

这样就不会干扰用户的活动。