Tag: batch file

从命令行使用path名作为参数时发生Excel错误

我正在尝试从命令行启动特定的Excel文档,并以文件path的forms传递variables。 在启动Excel工作表上运行一个macros。 这个文件path可能包含空格,但是当Excel解释这个时,我相信它试图打开一个空格后的每个部分作为一个新的工作簿。 这会导致程序运行后出现许多错误警告,因为它显然不能从子string创build文件。 batch file看起来像这样 echo %~1 start excel.exe %USERPROFILE%\Desktop\Compare.xlsm /e/%1% pause 编辑:澄清。 batch file在文件被拖放时被激活。 被丢弃的文件的path然后被存储在%1variables中。 如果此文件path具有空格,则在每个空格之后,Excel将假定这是一个新的工作表并尝试将其打开。 包含要使用拖动文件path的macros的Compare.xlsm调用将正常工作,因为它始终在桌面上。 因此,我的问题是如何让Excel将存储在%1中的整个path名称用作一个命令行参数,而不是多次调用来打开新的工作簿。 如果batch file上使用的文件不包含任何空格,则不会发生错误。 有什么办法摆脱错误时使用可能有空格的文件path,例如C:\ Users \ My Documents \ foobar.txt

Excel和DB2连接

我必须检查是否使用CLI / ODBC驱动程序build立了Excel和DB2之间的连接。 为此,我计划编写一个batch file,在这里我将调用Excel工作表,然后它将自动执行一个macros,这将从sysibm.sysdummy1表中引出一些虚拟数据。 我需要可以连接到我的数据库的代码,并检查连接是否已build立,如果连接已build立,则发出一些成功消息,如果连接未build立,则发出失败消息。 (可能有一些解释发生问题的地方)

CMD /批处理获取处理打开应用程序?

我刚刚创build了一个启动应用程序(Excel)的新实例的batch file,然后用这个实例打开一个文件。 但是,我希望能够在每个用户计算机上存储一个configuration文件,其中包含一个首选项设置。 该设置将告诉batch file打开一个新的实例,或启动Excel的现有实例的文件(如果可用)。 我很擅长程序stream程,只是想知道获取应用程序打开实例句柄的命令。 这是可能的使用DOS命令,或者我需要看看用Excel或其他程序devise前置加载程序?

将不同行的子串合并为一个循环的单行

我有一个带有一些数据的.txt文件,其中“BARREL-5,BODY-3”等是被测量的,“V”是测量值的小数点,date(没有确切的时间)正被用于识别测量属于哪个样本 4491 316 SS,BARREL-5,V,1.393,5/7/2015 7:47:05 AM,0,,,,13,… 4491 316 SS,BARREL-5,V,1.3865,2/17/2016 11:26:12 AM,0,,,,13,… 4491 316 SS,BODY-3,V,1.256,5/6/2015 6:45:42 PM,0,,,,13,… 4491 316 SS,BODY-3,V,1.2565,5/7/2015 7:46:16 AM,0,,,,13,… 4491 316 SS,BODY-3,V,1.246,2/17/2016 11:24:18 AM,0,,,,13,… 只有每次我们对一批零件进行样品测量时,才会从.txt格式的(真正过时的)程序导出此数据。 数据需要在Excel中查看,以便快速确定批量零件是否在公差范围内。 更改扩展名并使用它的问题是,全部数据如下所示: 4491 316 SS,BARREL-5,V,1.393,5/7/2015 7:47:05 AM,0,,,,13,Blow Pattern=1-1-1,Die Set=FN3,Forge=Erie,Heat #=E150058,Job #=I2928,Lube Type=Hydraforge,Operator=Paul & ,Revision=C,Run Temperature=2250,Shift=2nd,Shim bottom Die=X,Shim Top Die=X,Shim Trimmer=X,C 在excel中,这个问题真的很混乱,有时候列的数量可能会有所不同+1(如果0代替1,它会在0,,,,之后添加一列)。 我希望的输出格式是txt格式,如下所示: Project Number: 4491,,,, Material: 316 SS […]

Excelmacros的控制文件

我有一个Excelmacros,我也用来运行一个命令行程序。 在这个macros中,我已经为不同的文件path,文件名等设置了一些参数,我现在想把(也许)一个Windowsbatch file放在这里,以便我(或用户)不需要触摸macros,更改该.bat控制文件中的文件path,并让macros相应地更改其值。 我怎么能做到这样的任务? 也许有些例子可以指向我。 谢谢。

Zip批处理命令和Excel

我有许多excel文件,我需要压缩到每个自己的zip文件夹。 我想我已经解决了这个问题,但是我有同事回到我这里说他们不能打开excel文件,因为它已经被破坏了。 我回去检查原始文件,它打开就好了。 但是,当我打开压缩文件的相同版本,我也得到了损坏的错误。 我在Office 2010上,可以修复它,但我的同事都是Office 2007,似乎无法修复该文件。 我的批处理代码如下: for /r %%X in (*.xlsm) do "C:\Program Files\7-Zip\7z.exe" a -tzip "%%~nX" "%%X"

从VBA运行并执行一个python脚本

我试图从我的VBA模块运行一个python脚本。 我已经尝试了几乎所有我在互联网上看到的例子,因此没有运气。 在VBA模块中,我也运行一个.bat文件,并且完美地工作: batchname = "U:\Backup Bat File.bat" Shell batchname, vbNormalFocus 接下来,我需要运行python脚本,它位于与excel文件相同的文件夹中。 现在我正在尝试这个: Dim Ret_Val Dim args args=Activeworkbook.Path & "\beps_output.py" Ret_Val = Shell("C:\python34\python.exe" & args, vbNormalFocus) 它不会出错,但没有任何反应。 我对这里的“Ret_Val”(返回值?)做了些什么,以及为什么它没有运行,我有点困惑。

批量从Excel插入到SQL Server中

有没有办法从Excel中的一行数据做SQL Server的批量更新? 我们有超过2000 + plus行的文件,需要在SQL Server中导入。 有没有办法做批量插入这些家伙而不调用数据库一遍又一遍地插入一行?

批量强制closures所有的Excel文件

是否可以创build一个强制所有正在运行的excel实例closures而不保存任何更改的批处理? 我问,因为我们有几个VB.net程序和VBA程序偶尔会使Excel在错误时不能打开(不可见),这些实例可能会干扰未来的程序并降低性能。

在Windows Server 2012 R2上从VBA调用batch file时出现奇怪的FTP行为

我有一个基本的.bat文件,连接到FTP服务器,保存CSV文件列表,然后从FTP服务器下载所有的CSV文件。 我正在使用VBA调用shell来运行.bat文件。 在我的笔记本电脑(Windows 10)上,一切运行良好,但是如果我在Windows Server 2012 R2上运行它,.bat文件会卡住,因为FTP服务器出现错误: 425无法打开数据连接传输“/*.csv 我正在使用运行FileZilla服务器的PC来testing,而且我也可以访问我的客户端的FTP服务器(不知道它们在运行什么)。 这是我试过的: 在Windows 10和Windows Server 2012 R2 – 防火墙禁用,64位操作系统,Excel 2010 32位。 在Windows 10笔记本电脑上: 从命令提示符运行batch file正常工作 运行我的VBA代码使用的Windows运行窗口(Winkey + R)的命令string,工作正常 通过任务计划程序作为任务运行batch file,工作正常 运行调用shell来运行.bat文件的VBA子工作正常 在Windows Server 2012 R2服务器上: 从命令提示符运行batch file正常工作 运行我的VBA代码使用的Windows运行窗口(Winkey + R)的命令string,工作正常 通过任务计划程序作为任务运行batch file,工作正常 问题: 运行调用shell的VBA子文件来运行.bat文件,批处理会挂起。 看着FTP服务器,batch file完成login,然后显示错误425: (000046)9/21/2015 10:36:11 – test(10.32.0.75)> 150打开“/ .csv”目录列表的数据通道 (000046)2015/9/21 10:36:22 – test(10.32.0.75)> 425无法打开数据连接传输“/ […]