Sub search
Set objExl = CreateObject("Excel.Application")
Set objWb = objExl.Workbooks
objWb.Open("C:\Documents and Settings\user\Desktop\book.xls")
Set strbol = objWb("C:\Documents and Settings\user\Desktop\book.xls").Sheets(1).Cells.Find(document.getElementById("q").Value, Range("A1"), xlValues, xlPart, xlByRows, xlNext, False, False)
Set objDiv = document.getElementById("content")
objDiv.innerText = "Result: " & objWb.Sheets(1).Cells(strbol.Row,strbol.Column).Offset(0,-4).Value
objWb("C:\Documents and Settings\user\Desktop\book.xls").Close
Set objWb = Nothing
Set objExl = Nothing
End Sub
以上是 HTA 代码,它从 HTA 文本框中获取查询词,在 excel 中找到该词,并在名为 div 的内容中返回/显示结果偏移行值。我可以成功运行脚本,直到打开 excel 文件。但是脚本在以下行给出错误: Set strbol 。. . 错误消息:下标超出范围。
我在 excel vba 中测试了 find 方法,它可以正常工作,但不能在 HTA 注意:从 IE6 发布,所以请原谅缩进和格式错误。