Tag: vbscript

使用VB将Excel行转换为文件

有点VB经验不足,所以我希望有人可以帮助什么感觉像一个简单的问题! 实质上,我需要为Excel电子表格的每一行生成一个文本文件(扩展名为.exp)。 但是,列数和行数是事先未知的,格式需要相当具体。 例如,给出以下Excel格式: Col1 | COL2 1 | 2 8 | 9 17 | 46 我希望生成3个文件。 第一个文件将如下所示: Col1 1 Col2 2 第二: Col1 8 Col2 9 第三: Col1 17 Col2 46 有没有简单的方法来使用VB做到这一点?

如何为特定的excel文件运行一个外部的vbs文件

我写了一个vbs代码 Sub rectangle() With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 10, 10, 200, 100).TextFrame .Characters.Text = "This is a rectangle" .HorizontalAlignment = xlHAlignCenter .VerticalAlignment = xlVAlignCenter ChDir "D:" ActiveWorkbook.SaveAs Filename:="D:\Book.xls", _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False ActiveWorkbook.Save End With ActiveWorkbook.Save Range("F5").Select End Sub 但是越来越错误 script: D:\test.vbs Line: 10 Char: 36 Error: Expected statement Code: 800A0400 Source: Microsoft VBscript Compilation error 我已经把D盘中的excel文件和vb文件粘贴起来了。 任何人都可以纠正我?

脚本打开encryption的excel文件,它具有以“mmddyyyy”结尾的dynamic文件名

您好,我需要一个脚本为我的SSIS包,将打开我的encryptionexcel文件,它有一个dynamic的文件名以“mmddyyyy”结尾。 我有一个PowerShell脚本,将打开并重置密码使用文件名,但我不知道如何使用dynamic文件名。 此外,我想我会更喜欢一个VB脚本,将打开文件,并删除密码(或者可能没有,只要我可以提取数据,而它是开放的?),因为我可能将其设置为一个SQL作业提取并每天发送到SQL。 以下是精简代码的示例: objExcel = new-object -comobject excel.application $objExcel.Visible = $True $objExcel.DisplayAlerts = $False $MMDDYYYY=[DateTime]::Today.AddDays(-1).ToString("MMddyyyy") $objExcel.Workbooks.Open("\\files\Reporting\Census\Daily_$MMDDYYYY.xls",0,$False,‌​1,"password") $Workbook.Password = "" $strPath="\\\files\Reporting\Census\Daily_$MMDDYYYY.xls" $a.activeworkbook.SaveAs($strPath) $objExcel.Quit() $Workbook=$Null $objExcel=$Null [GC]::Collect() Powershell还显示“fullyqualifiederrorid”:InvokeMethodOnNull错误消息。

将string作为索引添加到VBA中的数组

不知道我把这个标签正确的。 我有一堆包含数据string的单元格。 每个单元格都是这样的: q1 = 1 | q2 = 3.2 | q3 = 5.6 q1 = 1.8 | q3 = 2.1 | q5 = 1.4 *注意:分隔符是litteral,所有文本是在一个单元格中,与pipe道字符。 我想循环遍历每个单元格,使用pipe道(|)分隔符分解(使用PHP术语),然后再用=符号来完成。 我想为等号左边的每个可能的值创build一个数组,并将右边的值添加到数组中(不会像总和中那样添加,而是添加到数组中)。 在视觉上,我认为这个数组应该看起来像这样: Vars[ q1 [ 1,1.8 ], q2 [ 3.2 ], q3 [ 5.6,2.1]….] 最终目标是我想要得到每个q1,q2和q3的平均值,平均值和中位数。 这是可行的在VB中? 我更熟悉PHP,但想保留在Excel中。 谢谢。

WSH VBScript在已打开的Excel工作簿中切换workSHEET

是否有可能在WSH VBScript中的工作簿(名称引用)切换工作表,如果是这样,我将如何做? 这将在已经打开Excel文件的脚本中使用。 我想访问一个名为“版本控制”的工作表。 以下是我如何打开工作簿: xlsFile = path & "\xml-sitemap.xls" Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Workbooks.open(xlsFile)

运行时错误“下标超出范围”

我已经写了下面的脚本,我得到的运行时错误下标超出范围。 任何人都可以帮助我吗?(msgbox被用作debugging器) 提前致谢。 Sub newbook() Dim bk As Workbook, sht As Worksheet MsgBox ("variables created") Set bk = Workbooks.Add MsgBox ("book is set") With bk .Title = "NewBook" .SaveAs Filename:="NewBook.xls" End With MsgBox ("Book is created") Set sht = bk.Sheets.Add MsgBox ("sheet is set") bk.Sheets(1).Name = "Hello 1" bk.Sheets(2).Name = "Hello 2" bk.Sheets(3).Name = "Hello […]

VBScript用户inputvariables

我正在创build一个脚本来分割csv文件,我想让用户input文件被分割成新的时间间隔。 我遇到的问题是,当我input的时间间隔不是分裂的,但是如果我硬编码的价值在它分裂。 Option Explicit Const ForReading = 1 Const ForWriting = 2 Dim objFSO, objInputFile, objOutputFile Dim intLine, intFile Dim strHeaders Dim strInputFile, strOutputPrefix, strLine Dim MyDate Dim userSplit Dim split 'strInputFile = InputBox("Enter file location") strInputFile = "H:\VBS\domS_CUST.csv" strOutputPrefix = strInputFile & DatePart("yyyy", Now) & "-" & DatePart("m", Now) & "-" & DatePart("d", Now) […]

VBScript打开文件夹将csv转换为xls

任何人都可以解释为什么这不起作用,它抛出一个错误说: 行:14字符:1错误:对象需要:'[string:“H:\ VBS”]'代码:800A01A8 Const xlDelimited = 1 Const xlNormal = -4143 Set Excel = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") Dim Excel dim objShell dim objFolder Dim fileLocation set objShell = CreateObject("shell.application") set objFolder = objshell.BrowseForFolder(0, "Select File Location", 1, "H:\") set fileLocation = CStr(objFolder.self.path) Set Excel = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") folderDestination = InputBox("Enter […]

从用wsf脚本打开的excel文件中更改单元格属性

我有一个wsf脚本,vritten在visual basic中运行一个db2查询并将结果保存在一个文件.csv中。 Function CreaCSVdaSQL (SQL,fileCompletePath) Dim Input , conn,rs,csvtext,fso,fs,line set conn = CreateObject ("ADODB.Connection") conn.open _ "Provider=SQLOLEDB.1;Initial Catalog=XXXX;Data Source=XXXXX;MARS Connection=True;User Id=XXXX;password=XXXX" set rs = conn.execute (SQL) line = "" Dim tmp For Each tmp In rs.Fields line=line & tmp.Name & ";" Next if (Not rs.EOF) then csvText = line & vbcrlf & rs.getString (2,, ";", […]

QTP / UFT:使用VB比较两个Excel表格的简单性和高性能

我想在VB中比较2个Excel表格。 我知道如何在QTP / UFT中打开这些表单我知道如何获取所有单元格的范围。 但我不知道比较这两张(范围)的高效方法。 如果第二张的值与第一张的相应值不同,则应插入第二张的相应单元格中。 我可以parsing所有的单元格串行比较与相应的单元格,但这不是很高性能。 我想用下面的方法比较一下: If not (sheet1.range() equals sheet2.range()) then if not (Sheet1.range.Row equals sheet2.range.row) then if not (Sheet1.range.Row.cells equals Sheet2.range.Row.cells) then Sheet2.range.Row.cells.value = Sheet1.range.Row.cells.value 所有的值可以在不同的行和单元格中,但是在第一列和列的标题中有相应的ID。 所以我必须parsing这两个工作表中的正确的行ID和两个列标题中的对应的列。 我不想在表格中使用公式,因为我必须以程序化的方式进行比较。 有人可以给我一个提示,如果有一个函数,方法或属性在Excel中可以使用? 提前致谢