Tag: vbscript

如何使用VBScript有效刷新多个Excel电子表格的外部数据?

我有一个macros在一个XLSM工作簿的模块刷新所有的外部数据,然后保存并closures该工作簿。 ActiveWorkbook.RefreshAll ActiveWorkbook.Save ActiveWorkbook.Close Application.Quit 我使用VBScript文件作为计划任务的一部分运行该macros objExcel.Workbooks.Open(fname) objExcel.Visible = True On error resume next objExcel.Run "RefreshAllData" 问题:如何重新使用现有工作簿中的现有macros来刷新多个其他工作簿的所有数据? (即我正在寻找对VBScript文件的必要修改,我想最大限度地减less对macros本身的更改,文件名将包含在VBScript文件中)TIA。

VB脚本如果语句 – 打开Excel工作簿

更新的代码:(macros不运行) Dim objExcel, objWorkbook, xlModule, strCode If ReportFileStatus("C:\scripts\test1.xls") = "True" Then OpenFile "C:\scripts\test1.xls", "C:\scripts\test.xls" End If If ReportFileStatus("C:\scripts\test2.xls") = "True" Then OpenFile "C:\scripts\test2.xls", "C:\scripts\test1.xls" End If On Error Resume Next Set xlModule = Nothing Set objWorkbook = Nothing objExcel.Quit Set objExcel = Nothing On Error GoTo 0 '~~> Sub to open the file Sub OpenFile(sFile, […]

在tbscript中将txt文件转换为excel

我正试图将文本文件转换为Excel表格。 这是格式的样子。 我已经尝试编写一个脚本,但目前它所做的是覆盖我的当前文本文件添加我的列标题。 它不会添加我的文本文件中的任何数据。 任何人都可以帮助我了解我做错了什么。 Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True strInput=InputBox("Enter name of File in C:\Users\spencerr\Desktop\MyProject\bin\") 'ask user for file name Set wb = objExcel.Workbooks.Open("C:\Users\bob\Desktop\MyProject\bin\" & strInput) 'Delete labels in log For i = 1 To 5 Set objRange = objExcel.Cells(1, i).EntireColumn objRange.Delete Next Set activeCell = objExcel.Cells(1, 2) Dim intVal Dim comVal […]

从Windows脚本主机处理Excel文件

有没有一种快速的方法来操纵从Windows脚本宿主现有的 XLS文件的内容? 我们有我们从客户收到的Excel模板。 我们的任务是用这些模板填充从Oracle数据库中获取的数据。 目前的方法是使用Windows脚本主机和VBScript: 使用ADODB从Oracle获取数据: Set db = CreateObject("ADODB.Connection") SQL = "SELECT …" Set rs=db.execute(SQL) 使用VBScript在Windows脚本主机中创build一个Excel对象: Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open(xls_final) Set objSheet = objWorkBook.Sheets(1) 然后像这样在单元格中填充模板: If rs.EOF = False Then rs.MoveFirst Do Until rs.EOF objSheet.Cells(RowNumber, 1).Value = rs("COLUMN1") objSheet.Cells(RowNumber, 2).Value = rs("COLUMN2") objSheet.Cells(RowNumber, 3).Value = rs("COLUMN3") rs.MoveNext Loop End If […]

如何在所有现有的Excel工作表之后添加工作表?

我需要在当前工作表编号3的末尾添加一个Excel工作表。但是,当我运行下面的程序时,我会在第一个工作表中得到一个工作表。 我该如何解决这个问题? 该程序基本上将数据从一个Excel工作簿复制到另一个工作簿,由多个工作表组成。 码: Dim objXL,objWrkBk,objWrkSht,a,n Set objfso=CreateObject("Scripting.FileSystemObject") Set objXL=CreateObject("Excel.Application") Set objWrkBk=objXL.Workbooks.Open("C:\learning\demo.xlsx") m=objWrkBk.Worksheets.count msgbox m For n=1 to m Set objWrkBk=objXL.Workbooks.Open("C:\learning\demo.xlsx") Set objWrkSht=objWrkBk.Worksheets("Sheet"&n) columncount = objWrkSht.usedrange.columns.count rowcount = objWrkSht.usedrange.rows.count For i=1 to rowcount For j=1 to columncount If objWrkSht.cells(i,j).value <> "" Then a= objWrkSht.cells(i,j).value& " " End If 'Next 'Next check=objfso.FileExists("C:\learning\demo1.xlsx") If not check Then […]

检查Excel工作簿是否使用VBScript打开

我有一个写入Excel电子表格的vbs脚本。 为了能够保存电子表格,我需要确保它尚未打开。 有人可以build议最好的方法来做到这一点? 一些研究: 我试图创build一个Word Tasks对象来显示所有正在运行的进程,但在Windows 7上它只告诉我Excel是否正在运行。 创build一个Excel.Application对象不允许我访问所有正在运行的Excel实例。 我想打开电子表格进行写作,但我能想到的唯一方法是使用文件系统对象OpenTextFile方法,因为Excel文件是二进制文件,所以这看起来不是正确的方法。 任何其他的想法?

通过VBScript移植Excel

我有一个Excel电子表格,我从其他程序中导出。 它有一些根据less数商业条件着色的行。 现在我必须将整个excel表格与颜色和格式一起转置。 请注意,我必须使用Vbscript来完成此操作。 这是迄今为止我写的代码,但是这个转换没有格式: sub transpose On Error Resume Next Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False objExcel.Workbooks.Add() set table = ActiveDocument.GetSheetObject( "CH01" ) CellRect = ActiveDocument.GetApplication().GetEmptyRect() CellRect.Top = 0 CellRect.Left = 0 CellRect.Width = table.GetColumnCount CellRect.Height = table.GetRowCount set CellMatrix = table.GetCells( CellRect ) for RowIter=CellRect.Top to CellRect.Width-1 for ColIter=CellRect.Left to CellRect.Height-1 ObjExcel.Cells(RowIter+1, […]

如何将VBScriptmacros导入Excel工作簿?

我有几个Excel工作簿。 他们都共享相同的macros模块。 我想实现的是在一个工作簿中编辑一个模块,而不必编辑其他工作簿中的相同模块。 当然,我的第一步是导出保存在.bas文件中的模块。 但问题是,我不能在加载时导入它们。 我曾试过这个: Private Sub Workbook_Open() Set objwb = ThisWorkbook Set oVBC = objwb.VBProject.VBComponents Set CM = oVBC.Import("C:\Temp\TestModule.bas") TestFunc End Sub 有一个TestModule.bas在相同的目录与内容: Function TestFunc() MsgBox "TestFunc called" End Function 当打开工作簿时,出现编译错误: Sub or Function not defined 。 如果我手动导入模块,一切正常。 感谢您的任何build议。

从vbscript自动填充excel文件中的Excel用户窗体

我有一个Excel文件,充满了macros,函数和用户表单,可以帮助用户在这个Excel文件中正确地填充数据。 我需要编写一个访问其中一个用户窗体的VBScript。 自动填充。 我知道如何调用工作簿中存在的VBAmacros。 objExcel.Application.Run"'CAM0500040F10_SW_Quality_Assurance_Report_Template (05-11-2012).xlsm'!new_document()" 但现在我需要能够从我的代码填充一个用户表单。 有没有办法做到这一点?

Excel插件中未使用的函数仅在第二次运行时以及通过VBScript运行时导致崩溃

对不起,长的标题。 我有几个共享很多代码的.xlsm文件,所以我将重复的部分移到了一个插件.xlam文件中。 我一直在使用.vbs脚本逐个打开所有文件,并在每个文件中运行一个macros。 问题 我遇到的问题是在.vbs脚本的第二次运行中,excel崩溃,并给出了一个非常普遍的错误, 这里说是“自动化错误”: Script: C:\Users\~\Desktop\test\test.vbs Line: 5 Char: 1 Error: The server threw an exception. Code: 80010105 Source: (null) 令我惊讶的是,即使删除了99%的文件内容,我仍然能够重现此崩溃。 test.vbs: Dim xlApp Dim xlBook Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("C:\Users\~\Desktop\test\test.xlsm") xlApp.Run "Auto.Run" '<~~ error on this line xlBook.Save xlBook.Close (True) xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing […]