Tag: 脚本

AutoIT创build新的,有效的Excel文件

如何在Autoit中创build一个新的,有效的Excel文件? Local $sFileName = @ScriptDir & "\Worksheet.xls" Local $oExcel = _Excel_BookNew($sFileName, 10) 创build一个无效的0字节,我无法打开。

脚本更改为多个Excel工作簿

我试图对一些excel工作簿(超过20)进行大的修改。 每个工作簿包含大约16个单独的工作表,我想写一个脚本,将循环通过每个工作簿,工作表包含里面,并编写/修改我需要的单元格。 我需要保持所有的stringvalidation,macros和格式。 所有的工作簿都是2007年的格式。 我已经看过python excel库和PHPexcel,但是macros,button,公式,stringvalidation和格式化,并且在写入新的工作簿时不会保留。 有没有一个简单的方法来做到这一点,或者我将不得不单独打开每个工作簿并提交更改。 我试图避免在VBscript中创build一个macros,并不得不单独打开每个工作簿来提交我需要的更改。

VBA:如何在工作簿/工作表中发生最后一个错误时通过VBA代码获取上次使用的单元格?

最后,我想将单元移动到发生最后一个错误的位置。 编辑:忘了说,我正在使用Excel 2003。

运行任务计划程序时,PowerShell脚本停止工作

我将下面的脚本作为用户login到服务器的计划任务运行。 它使用Excel.Application COM对象将xls文件转换为csv。 转换工作,但最终打破,我不知道为什么。 我有任务运行下面的命令,理论上应该允许它不断运行: powershell.exe -noexit -file "filename.ps1" 任何想什么尝试? $server = "\\server" $xls = "\path\XLS\" $csv = "\path\CSV\" $folder = $server + $xls $destination = $server + $csv $filter = "*.xls" # <– set this according to your requirements $fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{ IncludeSubdirectories = $true # <– set this […]

excel vba-提取2个字符之间的文本

如果我有这个专栏: ColA —– NUMBER(8,3) NUMBER(20) 我需要一个VBA函数(注意,这些开始和结束string只会在单元格中出现一次): extract_val(细胞,start_str,end_str) 即。 extract_val(A1,“(”,“)”)并给出结果: 8,3 20 我只需要在其他vba代码中使用这个函数,而不是把它作为表单中的公式。 更新(感谢回答,我解决了:) ————————— Public Function extract_value(str As String) As String Dim openPos As Integer Dim closePos As Integer Dim midBit As String On Error Resume Next openPos = InStr(str, "(") On Error Resume Next closePos = InStr(str, ")") On Error Resume Next midBit = […]

最好的语言来parsing极大的Excel 2007文件

我的老板习惯于对我们的数据库执行查询,返回数以万计的行并将其保存到excel文件中。 作为实习生,我不得不编写处理这些文件信息的脚本。 到目前为止,我已经尝试VBScript和Powershell的脚本需要。 这两者都可能需要几分钟的时间来执行即使是最简单的任务,这将意味着脚本完成后将需要大约8小时的一天。 我现在的解决方法是编写一个PowerShell脚本,从xlsx文件中删除所有逗号和换行符,将.xlsx文件保存为.csv,然后让Java程序处理数据收集和输出,脚本完成后清理.csv文件。 这对于我目前的项目来说只需要几秒钟的时间,但我不禁要问,下一个项目是否还有一个更优雅的select。 有什么build议么?

通常如何将电子表格中的数据导入多个数据库列?

无论出于何种原因,我有很多客户现有的数据存储在电子表格中。 每个电子表格中通常有数百个,甚至数千个项目,并且要求客户端通过网站手动input(或者天堂禁止以这种方式自己导入)是不可能的。 通常,这些数据不会简单地将电子表格列映射到数据库列。 那太简单了。 通常,数据在进入数据库之前需要进行处理(数据需要用逗号分隔),或者需要将数据分散到多个表中。 或两者。 我问这个问题,不是因为我不知道有很多方法可以做,而是因为我没有以一种不觉得需要做更多工作的方式来解决问题。 到目前为止,我采取了以下所有方法(可能更多的是我已经忘记): 使用Excel修改数据,所以导入起来更容易一些 将整个电子表格导入临时表格,然后用SQL导入 编写一个脚本并导入数据(我已经使用VBScript,C#和现在的Ruby) 到目前为止,使用脚本似乎是最灵活的方式,但它仍然感觉有点笨拙。 我必须完成这个任务,甚至可以为此写一点DSL,以加快速度。 但在这之前,我很好奇,还有更好的办法吗?

自动从外部工作簿更新值

我有以下工作簿设置: 工作簿A有一个x工作簿B的链接,并从中获取数据。 工作簿B有一些其他工作簿的链接并从中获取数据。 练习册A是所有其他练习册包含的一种“概要”。 现在,我必须打开所有的工作簿B,在打开工作簿A之前刷新它们并保存。如果不这样做,工作簿B将不会更新工作簿中的数据C. 是否有可能使用.bat或vbs脚本更新所有的工作簿B? 或者有可能从工作簿A内更新它们? 我可能会补充说,我在这台电脑上使用Excel启动器,所以更好的解决scheme将是兼容的。

VBA:如何显示一个错误消息就像标准的错误信息有一个“debugging”button?

和往常一样,我使用On Error Goto语句创build一个error handling程序,在那里我放了几行清理代码并显示错误消息,但现在我不想失去默认处理程序的舒适性,这也指向我发生错误的确切位置。 我怎样才能做到这一点? 提前致谢。

将Excel(xls)文件转换为不带GUI的逗号分隔(csv)文件

有没有一种简单的方法来将XLS转换为CSV格式的文件,而无需启动Excel窗口化的应用程序? 我需要用脚本处理一些Excel XLS工作簿。 为此,我需要将xls文件转换为csv文件。 这可以通过Excel应用程序的保存来完成。 但是,我想自动化这(所以,不要打开Excel应用程序窗口)。 如果将工作簿中的第一张工作表转换为CSV格式就足够了。 我只需要在表格中处理数据。 我的系统上安装了Cygwin和Excel,如果有帮助的话。 编辑:好吧,我有一个Perl的工作解决scheme。 更新以供将来由他人使用。 我安装了Spreadsheet :: ParseExcel模块。 然后使用read-excel.pl样本。 我的代码是这个示例代码的轻微变化,如下所示。 #!/usr/bin/perl -w # For each tab (worksheet) in a file (workbook), # spit out columns separated by ",", # and rows separated by c/r. use Spreadsheet::ParseExcel; use strict; my $filename = shift || "Book1.xls"; my $e = new Spreadsheet::ParseExcel; […]