Tag: vbscript

Excel VBSdate问题(将XLSX转换为TXT后的DATE问题)

这是将XLSX转换为TXT文件的简单解决scheme(制表符分隔) Const xlText = -4158 Set objArgs = WScript.Arguments For I = 0 to objArgs.Count – 1 FullName = objArgs(I) FileName = Left(objArgs(I), InstrRev(objArgs(I), ".") ) Set objExcel = CreateObject("Excel.application") set objExcelBook = objExcel.Workbooks.Open(FullName) objExcel.application.visible=false objExcel.application.displayalerts=false objExcelBook.SaveAs FileName & "txt", xlText objExcel.Application.Quit objExcel.Quit Set objExcel = Nothing set objExcelBook = Nothing Next 问题在于它在DATE转换后,从dd \ mm […]

在使用CreateObject启动Excel后,UFT – Excel加载项无法安装

我通过UFT自动化Excel插件。 我使用CreateObject来启动excel: Set oExcel = CreateObject("Excel.Application") oExcel.Workbooks.Add oExcel.Visible = True 在继续之前,我想确保我的加载项被正确安装。 所以我这样做: For K = 1 To oExcel.AddIns.Count Step 1 If Trim(oExcel.AddIns.Item(K).Name) = "AddInName.xll" Then If oExcel.AddIns.Item(K).Installed Then oExcel.AddIns.Item(K).Installed = False wait (2) oExcel.AddIns.Item(K).Installed = True wait (2) If oExcel.AddIns.Item(K).IsOpen Then 'Reporter.ReportEvent micPass, "Add_In Successful", "Successfully loaded Add_In" Exit For End If End If End […]

Excel – 删除两列之间的所有一对一行

问题:我有列A和列B.列A是可预测的,有数千列A行。 B列在每列A有不同的行。例如,A列可能在列B中有5行的值REQ_000021。这些都可以。 我需要删除的行是每列A只有一列B的行。 我知道这不是一个典型的事情,人们这样做,我不能find一个VB脚本在那里做这个。 如果网站允许,我会张贴一张照片。 首先需要15个代表点。 编辑: 我刚刚学会了如何在stackoverflow上进行换行,所以在这里: Col A Col B ———————————- 斯科特我们 德国 西class牙 ———————————- 布莱恩美国 ———————————- 马克美国 ———————————- 意大利 蒂姆葡萄牙 爱尔兰 ———————————- 删除布莱恩和马克,因为列A和列B有一行。 离开Scott和Tim,因为每列A行有多于一列的B行。 请记住,Scott和Tim的列A是大的合并行。 这就是我想要完成的。 编辑: 每个斯科特的答案,这是输出: 为了清楚起见,我正在标注一些标记,以便看到这个的其他人。 编辑:这下面的VB脚本将删除列C中的“DELETE”值的任何行 我在Excel中用它作为macros。 对于那些刚刚接触macros的用户,请在Excel 2007中启用“开发人员”视图以访问允许切换到VB屏幕的视图。 Sub deleteDeleteString() Dim rng As Range,cell As Range,del As Range Dim strCellValue As String 设置rng = Intersect(Range(“C:C”),ActiveSheet.UsedRange) 对于每个单元格rng strCellValue […]

使用VBScript在Excel中创build一个散点图

我正在尝试使用VBScript来创build与以下数据分散: x轴:A1到F1,y轴:A2到F2 我到目前为止发现的代码是: Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1) objWorksheet.Cells(1,1) = 80 objWorksheet.Cells(1,2) = 82 objWorksheet.Cells(1,3) = 85 objWorksheet.Cells(1,4) = 91 objWorksheet.Cells(1,5) = 178 objWorksheet.Cells(1,6) = 91 objWorksheet.Cells(2,1) = 5 objWorksheet.Cells(2,2) = 7 objWorksheet.Cells(2,3) = 8 objWorksheet.Cells(2,4) = 9 objWorksheet.Cells(2,5) = 10 objWorksheet.Cells(2,6) = 11 Set […]

有什么办法可以加快VBScript中的excel比较?

我首先做了一个VBA脚本来比较两个excel文件。 然后在这个问题中使用Variant来优化它。 但之后,我稍后将其更改为VBScript。 这里上面说的方法似乎不起作用。 还有其他更好的方法来加速这个过程吗? 特别是对于大文件。 我的核心代码如下: For Each cell In objxlWorksheet1.UsedRange If cell.Value <> objxlWorksheet2.Range(cell.Address).Value Then 'fill the color in the cell if there is a mismatch and Increment the counter objxlWorksheet2.Range(cell.Address).Interior.ColorIndex = 3 counter=counter+1 End If Next

运行时错误438从一个工作簿复制到另一个时

我正在运行此代码将数据从一个工作簿复制到另一个主要工作簿,但不断得到运行时错误438在第12行。什么事? 提前致谢! 1 Sub copydata() 2 Dim wbk As Workbook 3 Dim wbk2 As Workbook 4 strFirstFile = Userform1.path.Text 5 Set wbk2 = ThisWorkbook 6 Set wbk = Workbooks.Open(strFirstFile) 7 With wbk.Sheets(1) 8 Cells(1, 1).Activate 9 ActiveCell.CurrentRegion.Select 10 Selection.Copy 11 End With 12 wbk2.Sheets("UAL").Range("G1").Paste 13 Application.CutCopyMode = False 14 wbk.Close 15 16 End Sub

在VBScript中调用Excel工作表

我有以下代码: Option Explicit Randomize Dim a, song, album a = Int((Rnd*195)+1) song = "B" & a album = "A" & a Dim objApp, objWbs, objWorkbook, objSheet Set objApp = CreateObject("Excel.Application") Set objWbs = objApp.WorkBooks objApp.Visible = False Set objWorkbook = objWbs.Open("C:\Users\Name\Documents\Music.xlsx") Set objSheet = objWorkbook.Sheets("Sheet1") song = objSheet.Range(song).Value album = objSheet.Range(album).Value objWorkbook.Close False objWbs.Close objApp.Quit […]

重命名有date的文件

我有一些代码将重命名文件名并重命名该文件中的选项卡名称,但是为我的代码工作我的文件名必须是静态的。 我遇到的问题是我的文件通常会在date或周数加到文件名的末尾,有人可以帮我修改我的代码,以便使用通配符,或者可能忽略前两个或三个字之后的任何内容的文件名并运行我的代码? 例如我得到一个名为Incident Report Week 43.xlsx的文件,为了使我的代码工作,我必须手动将文件重命名为Incident Report.xlsx,有没有办法让我们忽略“Week 43”字报告,相同的文件也可以被称为事件报告20150424.xlsx 这是我到目前为止 'launch Excel and open file Const xlExcel8 = 56 Const xlOpenXMLWorkbook = 51 Set xlObj = CreateObject("Excel.Application") Set xlFile = xlObj.WorkBooks.Open("C:\Users\_ThisWeek\Incident Report.xlsx") 'turn off screen alerts xlObj.Application.DisplayAlerts = FALSE 'loop through sheets For Each Worksheet In xlFile.Worksheets 'change sheet to desired worksheet name If Worksheet.Name = […]

我无法closuresExcel应用程序

我有这样的代码,我写在VBScript为wincc,运行后,Excel应用程序仍在运行,该脚本后,项目不能正常工作。 我能做些什么来closuresExcel应用程序? 这是脚本: Dim fso Dim rowcount Dim ExcelObject Dim WorkbookObject Dim file Dim i Dim tg Dim objSheet1 Dim objSheet2 'Set Object Set fso = CreateObject("Scripting.FileSystemObject") Set ExcelObject = CreateObject("Excel.Application") file="C:\Parametri\Codificari.xls" Set WorkbookObject = ExcelObject.Workbooks.Open(file) 'Set objSheet1 = WorkbookObject.Worksheets(1) Set objSheet2 = WorkbookObject.Worksheets(2) objSheet2.Cells(1,1)=SmartTags("locatie_defect") If (fso.FileExists(file)) Then 'Raw numbering in Excel rowcount = objSheet2.UsedRange.Rows.count […]

VBScript写入Excel不写

我试图完成的是在Windows系统日志中search多台计算机的事件代码41(意外关机),然后写入每个计算机的每个实例的Excel文件。 我没有收到任何错误,但没有任何内容写入Excel文件。 我build立了一个回声,以确保它到达循环的正确部分(它!),我设置了一个文字入口,看看是否有variables(它没有写)的错误。 在这一点上,我不知所措。 ' https://technet.microsoft.com/library/ee176684.aspx ' http://blogs.technet.com/b/heyscriptingguy/archive/2009/04/06/how-can-i-check-my-event-logs.aspx ' http://stackoverflow.com/questions/21738159/extracting-error-logs-from-windows-event-viewer Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("H:\Chris Created Stuffs\Windows Stuffs\check_error_41.xlsx") objExcel.Visible = False i = 1 x = 0 'On error resume next 'This is the code that will read the computer names off of the 'appropriate spreadhseet Do Until objExcel.Cells(i, 1).Value = "" […]