将绝对路径转换为相对路径时出错

Error while converting absolute path to relative path

本文关键字:路径 相对 出错 转换      更新时间:2023-09-26

我正在使用一个javascript代码,需要打开一个csv文件,但我得到错误为"ThisWorkbook是未定义的"。不确定误差是什么。请帮忙!

var xl = new ActiveXObject("Excel.Application");
    xl.Visible = true;
    var wb = xl.Workbooks.Open(ThisWorkbook.Path & "''" & "temp.csv");
    var sheet = wb.ActiveSheet;
    wb.Worksheets.Add(after=wb.Sheets(wb.Sheets.Count));
    var pws = wb.ActiveSheet;
    pws.Name="temp_pivot";
    var pvtTable = pws.PivotTableWizard(1, varSource=wb.sheets("temp").Range("A1").CurrentRegion);
    pvtTable.PivotFields("DECISIONYEAR").Orientation = 1;
    pvtTable.PivotFields("DECISIONMONTH").Orientation = 1;
    pvtTable.PivotFields("APPLICANT").Orientation = 4;
    pvtTable.PivotFields("SUM OF APPLICANT").Function=-4157;
    pvtTable.PivotFields("SUM OF APPLICANT").Caption="Applicants";
    pvtTable.PivotFields("APPROVED").Orientation = 4;
    pvtTable.PivotFields("SUM OF APPROVED").Function=-4157;
    pvtTable.PivotFields("SUM OF APPROVED").Caption="NAA";
    pvtTable.PivotFields("SOURCE").Orientation = 3;
    pvtTable.PivotFields("PRODUCTCOLOR").Orientation = 3;
    pvtTable.PivotFields("PRODUCT").Orientation = 3;
    pvtTable.PivotFields("SUB_CHANNEL_CADM").Orientation = 3;
    pvtTable.PivotFields("CHANNEL_CADM").Orientation = 3;
    pvtTable.PivotFields("MARKET").Orientation = 3;
    pvtTable.PivotFields("OFFER_TYPE").Orientation = 3;
    pvtTable.DataPivotField.Orientation=2;
    pws.Columns.Autofit;
    pws.Rows.Autofit;
    xl.DisplayAlerts =0;
    xl.DisplayAlerts = 1
    xl.CutCopyMode = 0;
    xl.EnableEvents = 0;
    xl = null;

'"被视为字符串字面值中的转义引号。这意味着您的"'"字符串没有关闭。

代替

"'" & "temp.csv"

"''" & "temp.csv"

使用合适的代码编辑器,代码的颜色可以提示问题在哪里(就像在这个答案中一样)。

"'"替换为"''"

"'"中,斜杠转义第二个引号,这意味着您的字符串不会在那里终止。

要使字符串包含反斜杠,您必须转义该反斜杠("''"),因此编译器/解释器不会尝试将其解释为转义字符。