Tag: vbscript

使用VBS在Excel中对列进行sorting,同时保持扩展的select

我有一个csv文件被创build,我想sorting列,但它扩大了select,否则数据是不准确的。 示例:列A是服务器名称,列B安装了修补程序date,列C是由谁安装的。 当使用下面的代码时,它将为列B安排datesorting,但不保留与其他列中的date。 Const xlAscending = 1 Const xlDescending = 2 Const xlYes = 1 Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("c:\users\x\desktop\hotfixes.csv") 'insert link or URL to sharepoint document. Set objRange = objworkbook.worksheets(1).columns(2) objRange.Sort objrange.cells(1,1), xlAscending, , , , , , xlYes objExcel.DisplayAlerts = False objworkbook.save objworkbook.close objexcel.quit 我附上了一个链接,用于与我一起工作的示例csv文件。 有谁知道我需要input什么命令来保持整个select。 https://static.spiceworks.com/attachments/post/0017/4443/hotfixes.txt

需要帮助获得结果到一个特定的标签

您好,我正在尝试获取下面的代码来将此查询的结果打印到Excel文档中不同的选项卡,所以我可以在摘要页面上有一个button,并将结果导出到特定的选项卡。 一切工作正常导入到macros的标签,但不想打印到一个单独的工作表。 任何帮助将是伟大的! Cells.Select Range("A3").Activate Selection.ClearContents Range("A3").Select ActiveWorkbook.Queries.Add Name:="Query1" & Now, Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Source = Csv.Document(Web.Contents(""website""),[Delimiter="","", Columns=15, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & " " & _ " #""Promoted Headers"" = Table.PromoteHeaders(Source)," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = […]

SAS ODS tagsets.excelxp:在SAS中调用vbscript的autofit列宽

每周我输出一个yyyymmdd_report.xls工作簿,它由多个工作表组成,其中包含我的macrosdate。 如果我手动打开此工作簿,以下vbs脚本可以正常工作以自动调整列: Sub AutoFitAll() Application.ScreenUpdating = False Dim wkSt As String Dim wkBk As Worksheet wkSt = ActiveSheet.Name For Each wkBk In ActiveWorkbook.Worksheets On Error Resume Next wkBk.Activate Cells.EntireColumn.AutoFit Next wkBk Sheets(wkSt).Select Application.ScreenUpdating = True End Sub 有没有什么办法可以把它放到SAS内的某种调用中,而不必手动执行? 我在网上find的文档似乎有点太复杂,我的需求。 逻辑是: 1. Point to/open output report .xls file (maybe some command/DDE method?) 2. Run vbs script […]

VBScript将代码添加到Excel工作簿

我有任务将WorkBook_Open()方法添加到众多的Excel工作簿。 我设法写一个脚本,添加一个模块(标记为红色)与所需的代码行,但我需要在DieseArbeitsmappe (标记为绿色)自动启动工作簿时打开。 Set xlmodule = objworkbook.VBProject.VBComponents.Add(1) strCode = _ "Sub WorkBook_Open()" & vbCr & _ " Application.Run (""'CommonMacro.xlsm'!Workbook_Open"")" & vbCr & _ "End Sub" xlmodule.CodeModule.AddFromString strCode 这是我现在的代码。 我很确定错误是在设置xlmodule的第1行,但我不知道如何引用DieseArbeitsmappe 。 在此先感谢您的帮助。

如何以编程方式将Excel用户名设置为主机名

我想知道是否可以使用任何一种带标签的脚本语言以编程方式将Excel 2013中的用户名设置为计算机主机名。 现在浏览了一下网页,但没有find任何有用的提示,让这个工作。 备注:Excel是closures的,所以它应该是一个独立的脚本(没有VBA)。 任何答案是高度赞赏。

如何删除Excel中的回车值?

我有代码删除回车值,这是给我想要的结果,但每次我必须打开Excel表和运行macros。请你帮我删除文件夹中的所有文件的回车值,而无需打开Excel文件。 Sub RemoveCarriageReturns() Dim MyRange As Range Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Each MyRange In ActiveSheet.UsedRange If 0 < InStr(MyRange, Chr(10)) Then MyRange = Replace(MyRange, Chr(10), "") End If Next Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub 提前致谢。

使用vbscript在Excel中replace小数部分

作为一个更大的脚本的一部分,我试图用Excel中的十进制值replace小数值使用VBScript。 我总是可以指望具有特定列和特定格式的值。 Excel示例预期input列B: 51-7/16 1-1/2 2 15-7/8 Excel示例所需的输出列B: 51.4375 1.5 2 15.875 我知道这将永远是一个1/16。 所以我的想法是通过列表寻找每个可能的分数,find一个包含该分数的单元格,并将其replace为相应的小数。 问题:如何告诉脚本查找包含值的单元格,以及如何用小数点replace该分数? 最接近的例子search和使用VBscript在Excel中replace一些字符 尝试: Dim FMember (14) FMember(0) = "-1/16" FMember(1) = "-1/8" FMember(2) = "-3/16" FMember(3) = "-1/4" FMember(4) = "-5/16" FMember(5) = "-3/8" FMember(6) = "-7/16" FMember(7) = "-1/2" FMember(8) = "-9/16" FMember(9) = "-5/8" FMember(10) = "-11/16" FMember(11) = […]

运行Excelmacros的VBScript

我正试图运行这个脚本 if WScript.Arguments.Count < 1 Then WScript.Echo "Drop file on to me to process." Wscript.QuitEnd If Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0)) Set oVBC = oBook.VBProject.VBComponents oVBC.Import("C:\Test\Test.bas") oBook.Application.Run "Test" WScript.Echo "Done" Test.bas文件内的macros的名称是Test(),文件位于C:\ Test \ Test.bas – 现在我试图拖动.vbscript顶部的.xlsx文件。错误,读取 语法错误 800A03EA Microsoft VBScript编译错误 在这个脚本中需要修改什么来解决这个问题?

VB按单元格名称获取范围

而在我的脚本的早期阶段,我遇到了想dynamic获取列中单元格范围的问题,因为我不断地添加新的单元格。 我看着通过列名得到范围,但我得到的错误,“运行时错误”1004“:应用程序定义或对象定义的错误”。 我可能是错误的了解列名的范围,有谁知道为什么我得到这个错误? 这是我的代码到目前为止: Sub autoFill() Sheets("Unit #2").Range("SUBSYSTEM").Copy Destination:=Sheets("Test").Range("A1") Sheets("Unit #2").Range("B2:B38").Copy Destination:=Sheets("Test").Range("B1") End Sub 第一行显示了我想要获得列的内容,“SUBSYSTEM”,第二行显示了如何在固定范围内执行此操作。

用VB Scritp如何检查一个Excel文件是否已经打开,并closures它,而不保存它。

我有以下代码。 它从一个工作簿复制工作表到另一个工作簿。 如果两个文件都closures,它工作正常。 我想修改这段代码,首先检查两个文件是否都打开,closures它们而不保存任何修改,最后执行和我现在一样的操作。 ' Create Excel object Set objExcel = CreateObject("Excel.Application") ' Open the source workbook Set SOURCE = objExcel.Workbooks.Open("Path\Source.xls") ' Open the destination workbook Set DEST = objExcel.Workbooks.Open("C:Path\Destination.xlsx") objExcel.Visible = False ' Select the range on source Sheet1 you want to copy SOURCE.Worksheets("Sheet1").Range("A1:AZ2500").Copy ' Paste it on Destiny Sheet1, starting at A1 DEST.Worksheets("Sheet").Range("A1").PasteSpecial […]