Tag: vbscript

在Excel中提取和求和数字子string

我不认为你可以在Excel本地做正则expression式,我得到的印象,这将需要一些VBScript,我不知道。 我有一个数据集,其中包含给定列中的以下格式的string 123 foo, 234-bar, 345 baz , … 我想提取在每个逗号分隔的logging开始的数字, 并将他们在另一列。 如果我们在逗号分割string,并考虑子string,我认为这将足以作为一个正则expression式 ^\D*?(\d+)?\D*/ (只有多个数字中的第一个应该被考虑,并且一个无数的string应该提取空白并且被认为是零)。 这是一些样本数据的预期输出 INPUT OUTPUT ————————————- 5-foo, 10 bar 15 11 baz, 11 bad,string 0 hello,123,100, 100 ,xxx 323 我如何让Excel执行这个计算?

将Excel ChartTitle添加到Excel可在VBA中使用,但不能从VBScript中使用

我试图写一个VBScript文件(xxx.vbs),可以打开.CSV文件,格式化和图表数据。 一切工作正常,除了一件事 – ActiveChart.ChartTitle的设置。 当我在VBA中创build它时,它工作的很好,但是当我从VBScript文件中完成时,它似乎忽略了它。 这里是我的xxx.vbs文件的要领的消毒版本: ' Using Excel 2013 Const xlBarClustered = 57, xlLocationAsNewSheet = 1 ' Assume for this exercise Excel is already open and on the correct sheet Set oExcel = GetObject(, "Excel.Application") Set SheetData = oExcel.ActiveSheet ' Assume Labels in A2:A21, Data in B2:B21 and Title in B1 oExcel.Range("A2:B21").Select SheetData.Shapes.AddChart2(216, xlBarClustered).Select […]

将Excel工作表转换为CSV并在TXT中存储文件名。 在未来脚本执行时跳过文件名

我想制作一个批处理脚本 a。)将XLS或XLSX转换为CSV b)将excel的名称写入TXT c。)在脚本的任何连续运行中跳过此excel 完整的脚本下面的问题 我目前有以下几点: 1.)运行转换器的batch file(由以下链接中的某人提供) FOR /f "delims=" %%i IN ('DIR *.xlsx /b') DO ExcelToCSV.vbs "Sheet2" "%%i" "%%i.csv" "CSVlog.txt" 2.)转换器由ScottF&Christian Lemer 在命令行上将XLS转换为CSV if WScript.Arguments.Count < 3 Then WScript.Echo "Please specify the sheet, the source, the destination files. Usage: ExcelToCsv <sheetName> <xls/xlsx source file> <csv destination file>" Wscript.Quit End If csv_format = 23 […]

如何使用VBScript在HTA文件中操作DropDownBox名称

我正在创build一个使用VBScript创build,写入和读取Excel文件的HTA文件。 基本上,Excel文件将是“网站名称,login名和密码”(最终encryption)的数据库,而HTA只是提供了一个界面,可以在文本框中轻松查看这些信息。 我想创build一个“下拉框”,它预先填充了当前存储在Excel文件中的所有帐户。 这样当用户select账户名时,会显示相应的login名和密码。 下拉框的典型代码: <select size="1" name="DropDownBox" onChange="ReadDropdown"> <option value="0"></option> <option value="1">Account 1</option> <option value="2">Account 2</option> <option value="3">Account 3</option> </select> 而不是查看“帐户1 … 2 … 3等”我希望程序读取当前存储在Excel文件中的“网站名称”,而不是在下拉框中使用这些名称。 例: <select size="1" name="DropDownBox" onChange="ReadDropdown"> <option value="0"></option> <option value="1">Facebook</option> <option value="2">GMAIL</option> <option value="3">Stack Over Flow</option> </select> 我不能提前指定名称,因为我不知道什么帐户将包含在Excel文件中。 我假设我可以修改下拉框选项的“值”,但是这不会改变用户实际看到的文本(例如在文本框中)。 我想出了一个“有趣”的想法。 如果我创build了第二个HTA文件来充当“Loader”呢? 装载程序HTA程序将执行以下操作: 打开Excel程序以查看文件中当前有哪些网站帐户 打开主HTA文件,并使用Excel文件中find的帐户名称进行编辑,然后保存。 然后运行新保存的主要HTA文件 并closures本身(装载HTA) 只是一个想法。

在Powerpoint中用vbscript如何调整embedded的OLE xls对象的显示范围?

我的问题是,我正在将xls表单合并到PowerPoint演示文稿中。 有时最后3列在对象中不可见。 他们在那里,如果你双击该对象,然后在Excel中查看它。 我想在VBScript的方式来设置embedded对象图标应该显示的范围。 (可以通过双击对象进行手动操作,双击后拖动位于对象两边中间的小黑方块。) 我一直在尝试2天来解决这个小问题。 我已经尝试OLEFormat和这个http://msofficeautomation.wordpress.com/2012/06/11/add-excel-sheet-via-addoleobject-into-powerpoint/没有任何运气。 我试图在Word中录制一个macros,因为我没有在ppt中的loggingfunction,但是当录制一个macros时,你不能重新定义在这个对象中显示的范围。 🙁 我附上一个小例子,在powerpoint本身中添加一个名为C:\ temp \ addOLEObject_problem \ Book1.xlsx的xlsx文件 Sub AddObject() Set PPSlide = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count + 1, 16) Set objShapeOLE = PPSlide.Shapes.AddOLEObject(0, 0, , , ,"C:\temp\addOLEObject_problem\Book1.xlsx", False) ' Set objShapeOLE = PPSlide.Shapes.AddOLEObject(0, 0, , , , ".\Book1.xlsx", False) ' Resize to fill the slide ' ******check if width or […]

VBScript将特定的SQL Server数据库列导入到Excel中

我正在开发一个VBScript,其中我需要从MS Excel中的特定表的SQL Server数据库的特定列导入一些值。 我对此没有任何线索。 你可以请我build议我可以实现上述情况的方式。 Option Explicit Const adOpenStatic = 3 Const adLockOptimistic = 3 dim strSqlInsertString,objConnection1,objConnection2,objRecordSet1,objRecordSet2,strSqlInsertString2 dim objExcel,objWorkBook,objWorkbook1,intRow Set objConnection1 = CreateObject("ADODB.Connection") Set objRecordSet1 = CreateObject("ADODB.Recordset") Set objConnection2 = CreateObject("ADODB.Connection") Set objRecordSet2 = CreateObject("ADODB.Recordset") objConnection1.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=appapollo;Password=dna;Initial Catalog=6057;Data Source=lxi282" objConnection2.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=appapollo;Password=dna;Initial Catalog=6057;Data Source=lxi282" Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open("D:\Cardiopacs\Automation\Forward\test.xls") Set […]

如何从excel中读取数组或字典

我的代码如下失败,不允许我创build一个数组,包括单元格从g5到g5000。 如果我希望后者将该列数据与另一列进行比较,我将如何创build一个字典。 Dim xlApp, xlBook, xlSht Dim filename, cellarray filename = "c:\users\a352592\desktop\finRate.xls" Set xlApp = CreateObject("Excel.Application") set xlBook = xlApp.WorkBooks.Open(filename) set xlSht = xlApp.activesheet cellarray = "xlsft.cells(5,7) to xlsft.cells(5000,7)"

如何使用VB脚本删除/删除Excel中的空白行

我已经在脚本中,我将比较两个Excel数据,并将写入第三个Excel中的匹配数据。 脚本完美工作,并写入匹配数据到第三个Excel。 问题是它会为不匹配的数据创build一个空行。 不知道如何删除空行或如何防止它写入空的数据。 在第一个Excel工作簿"C:\Excelone.xls" ,列A值是1,2,3,4,5,6 在第二个Excel工作簿"C:\Exceltwo.xls" ,列A值是1,ab,3,ac,5,6 所以经过比较,第三个excel工作表(A列)的输出写为1,空,3,空,5,6 我需要的输出是1,3,5,6 请帮我解决这个问题。 请find下面的脚本 Set myxl = createobject("excel.application") myxl.Workbooks.Open "C:\Excelone.xls" myxl.Application.Visible = true set mysheet = myxl.ActiveWorkbook.Worksheets("Sheet1") Set myx2 = createobject("excel.application") myx2.Workbooks.Open "C:\Exceltwo.xls" myx2.Application.Visible = true set mysheet1 = myx2.ActiveWorkbook.Worksheets("Sheet1") Set myx3 = createobject("excel.application") myx3.Workbooks.Open "C:\Excelthree.xls" myx3.Application.Visible = true set mysheet3 = myx3.ActiveWorkbook.Worksheets("Sheet1") row=0 'With mysheet.UsedRange For […]

加载对话框,同时打开Excel

我想调出一个对话框,告诉用户等待Excel文件和程序加载。 我怎样才能在我的VBS中popup一个对话框? 我用过的VBScript: Option Explicit Dim objExcel, objWorkBook //start dialog here? Set objExcel = CreateObject("excel.application") objExcel.Visible = false Set objWorkBook = objExcel.Workbooks.Open("C:\Tester.xlsm") objExcel.Run "Tester.xlsm!modul1.subTest" objWorkBook.Close True objExcel.Quit Set objWorkBook = Nothing Set objExcel = Nothing

如何configuration任务计划程序,以便在打开另一个程序时运行vbscript?

我试图把vbscript附加到我的Windows调度器上,这样一旦我打开一个程序(例如Google Chrome),它就会在后台运行一个excelmacros。 我查看了任务调度程序,找不到触发基于打开另一个程序的事件的能力,而不是pipe理信息或错误。 对不起noob问题!