Tag: vbscript

VB脚本刷新Excel

我试图拼凑在一起/学习VB创build一个真正简单的脚本来打开一个Excel文档,基于我指定的文件path,刷新外部数据连接。 然后等到刷新完成,然后将文件保存在同一位置,然后退出Excel。 到目前为止,我看到的工作除了保存文件时,它将其保存到不同的位置,并且不会覆盖现有的文件! 这是我第一次使用VB,我在几个月的时间里预定了这个课程,但是我想先尝试一下,通过从谷歌和这个网站抓取一些代码:) 对不起,如果这是一个简单的问题,但对我来说这是相当具有挑战性的! 这是我到目前为止…. Dim oExcel Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True oExcel.DisplayAlerts = False oExcel.AskToUpdateLinks = False oExcel.AlertBeforeOverwriting = False Set oWorkbook = oExcel.Workbooks.Open("The File Path of my .xlsx File") oWorkbook.RefreshAll oWorkbook.Save oExcel.Quit Set oWorkbook = Nothing Set oExcel = Nothing 我想要发生的是,从名称位置打开Excel文件,更新外部数据,保存文件,覆盖原来的。 closuresExcel。 非常感谢约翰。

以编程方式从源代码构buildXLA

我有一个(版本控制)的导出组件的VBA插件(即很多cls , frm , frx , bas和txt文件)的文件夹 。 有人可以给我一个构build脚本(可以是一个VB脚本,或更复杂的东西),这个文件夹的名称,并产生(工作)XLA? 我知道你可以以编程方式修改XLA文件( 例如这个问题 ),所以编写一个脚本创build一个空的XLA,然后循环遍历文件夹中的所有文件,将它们添加到文件中,这不应该太难。 谢谢, 缺口 (编辑:Excel 2003,如果有任何区别)

将Excel电子表格中的行复制到新电子表格中L列中值的数量

我有一个Excel电子表格,提供有关抽奖的信息。 每行都有一个人买票的信息。 问题是,我需要制作一个新的电子表格(最终,我需要把它合并成标签),每张票一行,但是如果一个人买了2张票,他们的信息只在原始电子表格的一行中,与“L”列中的票数量相关联。 所以我需要一个macros来看看他在L列中的值,并将该行复制到一个新的电子表格L次 – 如果他们买了一张票,而L列中的值是1,则它将复制一次,如果他们买了3张票,而L栏中的值是3,那么它会复制3次。 有人能告诉我如何去做这个? 如果在邮件合并过程中有办法做到这一点,这应该是工作2,我只是想到,先制作一个新的电子表格,然后只是从新的工作表制作标签。 谢谢!!

无法加载自动化类“Excel.Application” – VBScript移动鼠标

我使用我以前的问题代码: 移动鼠标 – VBScript和Excelmacros 我的目标是使用VBScript移动鼠标,这通过使用Excel工作。 问题是,这个在我的家用机器上运行的很好,这个机器上安装了Office 2007。 但是,在工作中运行此脚本时,出现以下错误: “找不到名为”Excel.Application“的自动化类” 唯一的区别我可以看到,这些工作的计算机有他们已经安装了Office 2003,所以Excel.Aplacation需要改变到别的可能? Google没有取得任何有用的结果。 我在记事本中创build这个。 有人可以帮忙吗? 如果我能得到这个工作,这是相当惊人的。

使用Excel 2007 SQL进行INSERT INTO … SELECT的奇怪行为

接着。 我有这个VBScript脚本 Const inputfile = "New Microsoft Office Excel Worksheet (2).xlsx" dim ado: set ado = CreateObject("ADODB.Connection") ado.connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" _ & inputfile & """;Extended Properties=""Excel 12.0 Xml;HDR=YES"";" ado.CursorLocation = 3 ado.open ado.Execute "INSERT INTO [recalculated] ([TIME PERIOD]) " & _ "SELECT Format(CDate(Mid([TIME PERIOD], 8, 13)), 'mm/dd/yyyy') " & _ "AS [TIME PERIOD] FROM […]

正则expression式返回完整的文件名和path

说到正则expression式,我有点生疏,所以我真的可以使用一些专家的帮助语法。 我正在寻找一个正则expression式,将返回一个string的完整文件名和path 。 对于Excel 2010 VBA,我正在使用参考“Microsoft VBScript Regular Expressions 5.5”。 我只需要正则expression式string。 这是我正在做的一个例子。 如果string是 = VLOOKUP($ X18,'E:\ BUDGET 2012-13 \ Round 2 – final \ program worksheets [AD allocations Support 2012 R2.xlsx] 2013'!costcenter,Y $ 5 + 2,FALSE) 那么返回的值将是 'E:\ BUDGET 2012-13 \ Round 2 – final \ program worksheets [AD allocations Support 2012 R2.xlsx] 2013' 要么 […]

如何匹配2张数据并根据匹配复制数据?

这是我的困境: 我有2个Excel表。 – One is a target sheet with already existing information – One is a source sheet 我需要将源表格列C中使用的单元格与目标表格列A所使用的单元格相匹配,并将每行从源到目标(到相邻行)复制3个单元格。 所以,假设我在源表格列C中的一个单元格中具有“TESTUSERtesting”,并且在目标表格列A中的某个单元格中有相同的名称。从名称在源表格中的行,我需要复制将A,B,C列单元格(仅从该行)数据传输到名称在A列中的目标行的列到C,D,E列。 源表C列中的每个名称都需要完成相同的操作 我已经成功地从两张表中获取所需的值,但是我不知道如何匹配数据并根据这些数据进行复制。

将具有数据列的行转换为具有多行的列(运行时间错误)

我有一行数据如下: header1 header2 header3 header4 header5 row key datavalue1 datavalue2 datavalue3 datavalue4 datavalue5…. CC Corporate Leadership Community Funding Delivery da1000 50% 50% 所以基本上,我有一个非规范化的数据集的数据值可能会或可能不会逐行为空。 我需要正常化他们。 即 CC Activity Allocation da1000 Community Development 50% da1000 Community Funding Delivery 50% 等等 我可以通过使用粘贴特殊转换来做到这一点,但我有成千上万的行,我需要确保我得到每个正确的行键。 此外,每一行都有一些与之相关的描述,我需要复制每个数据值。 我试图使用下面的代码,但我得到一个 运行时错误5无效的过程调用或参数 Sub NormalizeSheet() Dim wsOriginal As Worksheet Dim wsNormalized As Worksheet Dim strKey As […]

从多个Excel文件复制列的数据并将其粘贴到新的Excel文件中

我想复制位于文件夹中的Excel文件中的特定列,并将所有值粘贴到新的Excel表格中。 Completed- 我能够遍历文件夹中的所有文件。 我能够从特定的列复制数据。 无法完成: 无法粘贴复制的数据。 我只想复制不同的值。 我想复制列直到行在那里。 如果有7行,那么复制7列的值。 我的复制命令是复制到excel工作表的最后一行的所有值。 我的代码(VBScipt) – strPath="C:\Test" Set objExcel= CreateObject("Excel.Application") objExcel.Visible= True Set objExcel2= CreateObject("Excel.Application") objExcel2.Visible= True objExcel2.Workbooks.open("C:\Test\New Folder\4.xlsx") Set objFso = CreateObject("Scripting.FileSystemObject") Set objFolder = objFso.GetFolder (strPath) For Each objFile In objFolder.Files If objFso.GetExtensionName(objFile.Path) = "xlsx" Then objExcel.Workbooks.Open(objFile.Path) Set Source=objExcel.Activeworkbook.Sheets(1).Columns("G") Source.Copy Set dest=objExcel2.Activeworkbook.Sheets(1).Columns("A") dest.Paste objExcel.Activeworkbook.save objExcel.Activeworkbook.close objExcel2.Activeworkbook.save objExcel2.Activeworkbook.close […]

VBSscript运行Excelmacros不起作用

我一直在试图放在一起运行Excellmacros的VBSscript。 我在这个论坛上使用了来自其他主题的几个脚本,以及networking上其他地方的脚本。 我发现这个论坛对于有类似问题的人是最有帮助的。 这里的专家就是这样的:专家。 我刚刚写脚本。 我的经验仅限于在试错过程中剪切和粘贴示例脚本。 有了这个特定的脚本,我似乎无法find从VBSscript运行excellmacros的正确组合。 这是我正在运行的代码: Set xlObj = CreateObject("Excel.application") xlObj.Workbooks.Open "C:\Documents and settings\user\Desktop\Excel_macro_email.xls" xlObj.Run "macro_email" 'name of macro xlObj.ActiveWorkbook.Saved = True xlObj.ActiveWindow.Close xlObj.Quit 我正在使用XLnow OnScript编辑器来编译/debugging脚本,编辑器没有任何问题。 当我双击.vbs文件时,cmd窗口popup一会儿,我可以看到有一些输出,但是由于closures速度太快,所以不能读取它。 (我也研究过如何将结果输出到一个文件,但是我正在得到方法,可能会考虑所有这些。 有没有人愿意帮助纠正这个脚本? 如果您可以提供帮助,并提出一些代码,请还包括将代码放在脚本中的位置,或者也可以将其包含在完整的脚本中。 如何处理我在这里find的build议几乎与使用什么代码一样多。 感谢您提供的任何帮助。 我对我缺乏专业知识表示歉意。 最后,有一点帮助,我会从中学习。 这是脚本的更新,添加了sub,如下所示: Sub OpenAndRun (Excel_macro_email) Set xlObj = CreateObject("Excel.Application") xlObj.Workbooks.Open "C:\Documents and Settings\user\Desktop\Excel_macro_email.xls" xlObj.Run "Excel_macro_email.xls,macro_email" xlObj.ActiveWorkbook.Saved = True xlObj.ActiveWindow.Close xlObj.Quit […]