我正在尝试通过灵巧性工具创建一个从excel到表格的表单上载交易,然后从示例脚本中复制一些代码。我从references获得的步骤 在这些脚本上类似:
conn.ConnectionString =
"Driver={Microsoft Excel Driver (*.xls)};" +
"Driverid=790;" +
"Dbq=C:\MyPath\SpreadSheet.xls;" +
"DefaultDir=C:\MyPath;";
conn.Open();
上司的另一个示例,其脚本如下所示:
sheetbuf = itemname('(L) Sheet' of window PMS_Upload_Budget, '(L) Sheet' of window PMS_Upload_Budget);
buf1 = sheetbuf;
sheetbuf = "[" + sheetbuf +"$]";
recordset = COM_CreateObject("ADODB.Recordset");
sDriverExcel="{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}";
sConString="DRIVER="+sDriverExcel+";DriverId=790;DBQ="+'(L) Native Path'+";DefaultDir=";
recordset.Open("SELECT COUNT(*) as RowCount FROM " + sheetbuf, sConString);
row = recordset.Fields.Item[0].Value;
recordset.Close();
recordset.Open("SELECT * FROM " + sheetbuf, sConString);
col = recordset.Fields.Count[];
当我尝试对这两个脚本进行采样时,会出现如下错误
然后,我要求另一位上司再提供帮助。他给我这些脚本:
因此,我尝试通过安装AccessDatabaseEngine_X64.exe
来获得他的帮助。
并使用以下脚本更改连接字符串:
sConString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ '(L) FullPath' + ";Extended Properties=""Excel 12.0 Xml; HDR=YES;IMEX=1"";";
然后再次出现以下错误:
最近,我在excel电源查询中查找了连接字符串,并试图将表中的数据传输到其他工作簿。然后,出现此窗口询问我的。因此,我假设第一个references中没有DSN的ODBC无法正常工作。然后,我尝试将这些脚本添加到电源查询中:
conn.ConnectionString =
"Dsn=DsnName;" +
"Uid=UserName;" +
"Pwd=Secret;";
但是,窗口显示警告信息:“只能使用凭据提供Connection属性'uid'。因此,我一直在寻找其他方法来将pwd参数输入到功率查询或灵巧脚本中。
我尝试过的最新内容是查看OLE / COM对象查看器(数百个对象)和进程监视器(百万个事件)。谢谢,有关类似问题的任何提示都可以在这里有用。
答案 0 :(得分:0)
我从我的朋友参考中将以前的脚本修复为该脚本
sheetbuf = itemname('(L) ExcelRow' of window Integrate_Transaction, '(L) ExcelRow' of window Integrate_Transaction);
buf1 = sheetbuf;
sheetbuf = "[" + sheetbuf +"$]";
connection = COM_CreateObject("ADODB.Connection");
recordset = COM_CreateObject("ADODB.Recordset");
conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + '(L) FullPath' + ";Extended Properties=Excel 8.0;";
connection.Open(conString);
recordset.Open("SELECT COUNT(*) as RowCount FROM " + sheetbuf , connection, ADODB.adOpenDynamic, ADODB.adLockOptimistic);
row = recordset.Fields.Item[0].Value;
recordset.Close();
所以,我怀疑灵巧库应该为另外两个串安装其他东西。感谢您尝试回答我的困惑,对于这两个字符串^^
,我将不胜感激。