Javascript/Excel ActiveX对象。找到完全匹配的
因此,我正在使用我构建的SharePoint web部件(HTML表单web部件)来查询驻留在SharePoint网站上的excel文件。我编写javascript来创建一个Excel ActiveX对象,我可以很好地搜索工作表 但是,我需要让它搜索精确匹配(整个单元格),而不仅仅是部分。我知道我需要的代码,但我无法让它工作。我需要了解如何为“find()”函数的“xlother”参数创建正确的对象类型 我遇到问题的那行代码被注释掉了,因为那行不通。有什么见解吗?我已经看到了范围。找到方法,但我就是不能让它工作Javascript/Excel ActiveX对象。找到完全匹配的,javascript,excel,sharepoint,find,web-parts,Javascript,Excel,Sharepoint,Find,Web Parts,因此,我正在使用我构建的SharePoint web部件(HTML表单web部件)来查询驻留在SharePoint网站上的excel文件。我编写javascript来创建一个Excel ActiveX对象,我可以很好地搜索工作表 但是,我需要让它搜索精确匹配(整个单元格),而不仅仅是部分。我知道我需要的代码,但我无法让它工作。我需要了解如何为“find()”函数的“xlother”参数创建正确的对象类型 我遇到问题的那行代码被注释掉了,因为那行不通。有什么见解吗?我已经看到了范围。找到方法,但我
var excel = new ActiveXObject("Excel.Application");
var wb = excel.Workbooks.Open("workbook path");
var ws = wb.Worksheets("worksheet name");
var ws = wb.ActiveSheet;
//var cell = ws.Cells.Find(str,excel.XlLookAt.xlWhole);
var cell = ws.Cells.Find(str);
foundRow = cell.Row;
这对我很有用:
function searchExcel()
{
var excel =new ActiveXObject("Excel.Application");
excel.visible=true;
var wb = excel.workbooks.open("D:\\Analysis\\tmp\\Book1.xlsx");
var ws = wb.sheets(1);
var str="Value1";
// .Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection,
// MatchCase, MatchByte, SearchFormat)
var cell = ws.Cells.Find(str,ws.Cells(1),-4163,1)
alert(cell?cell.Row:(str+" not found"));
excel.quit();
}
我猜在使用js中的COM时,您不能跳过参数(但您可以将它们保留在末尾)。您需要做的就是传递常量
xlother
(即1)的值-您可以在Excel vBA对象浏览器中找到它。请尝试ws.Cells.find(str,,,1)
ws.Cells.find(str,,,1)给我一个语法错误,而ws.Cells.Find(str,0,0,1)给了我一个类型不匹配。这应该在JavaScript中工作,对吗?宾果。成功了。find()函数的常量信息是从哪里找到的?在Excel中,转到VB编辑器,点击F2
打开对象浏览器窗口:您可以输入常量名称以查看其值。或者在即时/调试窗口中键入(eg)?xlother
。参数列表来自