Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/Excel ActiveX对象。找到完全匹配的_Javascript_Excel_Sharepoint_Find_Web Parts - Fatal编程技术网

Javascript/Excel ActiveX对象。找到完全匹配的

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”参数创建正确的对象类型 我遇到问题的那行代码被注释掉了,因为那行不通。有什么见解吗?我已经看到了范围。找到方法,但我

因此,我正在使用我构建的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
。参数列表来自