试图从运行javascript的html应用程序调用excel宏

Trying to call an excel macro from an html app running javascript

本文关键字:应用程序 调用 excel html 运行 javascript      更新时间:2023-09-26

我已经写了一个应用程序来读取用户输入并将所述输入写入.txt文件,因为它更容易为excel宏读取。我已经写了一个宏,从文本文档中读取并将数据推送到excel工作表。是否有任何可靠的方式来运行从javascript excel宏?

这是我尝试过的:

    function RunMacro(objType) {
    switch (objType) {
        case "90":
            var fileName = "P:''Engineering''Generated Part Logs''90-.xlsm";
            break;
        case "69":
            fileName = "P:''Engineering''Generated Part Logs''69-.xlsm";
            break;
        case "66":
            fileName = "P:''Engineering''Generated Part Logs''66-.xlsm";
            break;
        case "40":
            fileName = "P:''Engineering''Generated Part Logs''40-.xlsm";
            break;
        case "30":
            fileName = "P:''Engineering''Generated Part Logs''30-.xlsm";
            break;
        case "09":
            fileName = "P:''Engineering''Generated Part Logs''09-.xlsm";
            break;
        case "02":
            fileName = "P:''Engineering''Generated Part Logs''02-.xlsm";
            break;
    }
    var bookName = fileName.substring(35);
    alert(bookName);
    var Excel = new ActiveXObject("Excel.Application");
    Excel.Workbooks.Open(fileName);
    Excel.Visible = true;
    Excel.Run("Sheet1.ImportPartData1");
}

我在这里正确地命名宏吗?或者这只是从javascript应用程序访问excel宏的错误方式?

您需要包含文件名:

Excel.Run("'fileNameHere.xlsm'!Sheet1.ImportPartData1")