Tag: batch file

脚本在特定的时间在特定的工作簿中运行vba代码

我对脚本和batch file一无所知,但是我不得不阅读一些关于它能够开​​始并尝试写一个代码,然后我想把我的Windows任务计划。 我想要做的是打开一个指定的excel工作簿,运行一个名为HamtaData的macros,然后保存工作簿并closures。 我今天有什么,脚本(文件名STARTexcel) dim args, objExcel set args = wscript.arguments set objExcel = CreateObject ("Excel.Application") start Excel.exe "\\global.com\home\Se\58\dx\Desktop\Test\Deliveries.xlsm" 'This is the workbook i want to open. objExcel.run "HamtaData" ' this is the macro i want to run. objExcel.activeworkbook.Save objExcel.activeworkbook.Close(0) objExcel.Quit 我的batch file是, cscript STARTexcel.vbs "\\global.com\home\Se\58\dx\Desktop\Test\Deliveries.xlsm" 我猜我缺less几大块,但是我的谷歌search不是在这方面的聪明。 我在想,我的batch file是我应该使我的Windows任务计划在未来某个时间运行。 我也尝试了这一行代码,我发现在谷歌和编辑它,以适应我的需要,没有成功。 'Code should be placed in […]

Microsoft Office 2010更新后Visual Basic FileCopy error75

最近大量的安全更新被推到了Microsoft Office的工作中。 我们有一个Excel工具与更新之前工作的Visual Basic骨干,现在不起作用。 我做了一些孤立的testing,发现在.BAT和.EXE文件上使用FileCopy方法时,我们看到相同的“错误75”。 其他较less“风险”的文件types似乎是确定的。 这也是“打开”命令的一个问题。 当复制/粘贴.EXE和.BAT文件,或者这是某个安全更新的已知问题时,是否有人知道此问题的解决方法? 我到处search,但谷歌正在失败我。 我希望: 有人知道哪个安全更新是罪魁祸首,我可以尝试卸载它,看看是否解决了这个问题 有不同的方式来复制/打开/处理.BAT和.EXE文件不违反新的安全补丁。 一些背景:我们正在使用Microsoft Office Professional Plus 2010,该工具使用Excel作为界面。 这是我正在使用的testing代码。 我已经validation.TXT和.DAT文件运行得很好,而.EXE和.BAT文件导致“错误75”表示权限错误。 在你问之前,是的,文件path是正确的,我刚刚省略了我的员工身份信息。 Sub Macro1() ' Declare variables Dim Filename, SourcePath, DestPath As String ' Pathname variables Filename = "test.dat" SourcePath = "C:\Users\<REDACTED>\Desktop\working_copy\" & Filename DestPath = "C:\Users\<REDACTED>\Desktop\working_copy\test\" & Filename ' Copy file from Source and paste in […]

为重命名video批量添加输出文件

感谢David Ruhmann,昨天我得到了我的batch file为重命名video工作: @echo off setlocal EnableExtensions EnableDelayedExpansion :: Create Empty Folder rd /Q "%Temp%\Temp" 2>nul & mkdir "%Temp%\Temp" :: Loop through Folders pushd "xPath=c:\processing" for /d %%D in (*) do call :Process "%%~fD" popd goto End :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :Process <Parent> :: Folder Name set "xFolder=%~nx1" :: Set Sub Folder if not exist "%~1\VIDEO\" goto :eof […]

是否有可能从batch file返回错误代码到VBA?

我的batch file: SET username=%1 SET password=%2 net use "\\gessel\toys\name" %password% /user:shops\%username% ECHO.%ERRORLEVEL% :copy Xcopy "\\gessel\toys\name\babytoys" "%appdata%\shops" /S /E ECHO.%ERRORLEVEL% IF ERRORLEVEL 0 goto disconnect goto end :disconnect net use "\\gessel\toys\name\babytoys" /delete goto end :end EXIT /B %ERRORLEVEL% 我已经从vba和代码调用以上batch file,如下所示: call Shell(Environ$("COMSPEC") & " /c " & path & username & password, vbHide) 上面的代码工作正常。 但我需要validation文件是否复制或不在vba中。 假设客户错误地input了他的用户名和密码,那么他不会得到玩具信息。 […]

VBA代码修改麻烦

我有Excel文件,它有一个VB代码,它看起来像这样: Sub UPISIVANJE_IZ_CELIJA_U_FILE() Dim iCntr Dim strFile_Path As String strFile_Path = "C:\script generator v1.1\start.bat" Open strFile_Path For Output As #2 For iCntr = 1 To 10041 Print #2, Range("E" & iCntr) Next iCntr Close #2 End Sub 代码工作没有任何问题。 我遇到的麻烦是start.bat文件的位置。 我想要在Excel工作簿文件所在的位置生成此文件。 我试着用这个: strFile_Path = ".\start.bat" 但是,这当然不起作用。

在Excel中运行batch file时,确保在cmd.exe中使用相对path

我有一个Excel文件,带有一个在VB中调用Shell命令的button: Shell(ThisWorkbook.Path & "\python_script.bat", vbNormalFocus) Shell命令调用运行Python脚本的上述batch file: python python_script.py 所有相关的文件(Excel文件,batch file,数据文件,Python文件)都位于同一个目录中,因此我将此文件称为sample_program ,因为我正在为其他人构build这个文件,我打算让它们简单地解压缩它并运行它。 在Excel中,当testing这个,我点击button,然后得到这个错误: C:\Users\<user_name>\Documents>python python_script.py python: can't open file 'python_script.py': [Errno 2] No such file or directory 由于某些原因,虽然所有这些文件都在相同的位置,cmd.exe运行从我的用户目录: C:\Users\<user_name>\Documents 我不希望cmd.exe使用此path; 我希望它使用path\to\sample_program目录。 我如何得到这个使用相对path,所以当我把这个文件夹传给别人,并且把它放在任何地方,它将作为一个独立的单元?

在长path名称的Excel上的Shell命令不起作用

我有一个batch filerun.bat在networking文件夹“L:\ Common Data \ myfile”,我想从Excel的macros执行它。 谷歌search我发现这些sintax: Call Shell(Environ$("COMSPEC") & " /k L:\Common Data\myfile\run.bat", vbNormalFocus) 但由于只读取“L:\ Common”而失败。 我尝试了很多在互联网上发现的build议,但没有人成功。 有人有解决scheme?

需要自动化一个脚本来search和replacehex的HEX到XML文件

简而言之,我们有一个访问控制服务器(A),每分钟将持卡人输出到一个XML文件中。 该文件需要导入到另一个访问控制服务器(B)。 服务器(A)导出的XML文件具有像这样的hex格式的所有卡号; DEC61810000000 我知道如何在Excel中实现转换,这里是一个例子; 我需要replace前8个字符,忽略最后六个零。 我需要从这个DEC61810到这个1018C6DE反转hex(请注意数字是如何保持成对,但切换位置)。 在Excel中执行此操作的代码如下所示; =CONCATENATE(MID(C5,7,2),MID(C5,5,2),MID(C5,3,2),LEFT(C5,2)) 现在,最后六位数字被剥离,hex是反转,我需要将1018C6DE转换为DEC,其中出来270059230 在Excel中执行此操作的代码如下所示; =HEX2DEC(D5) 所以我的问题是,我不知道如何自动化这个过程,我不知道如何实现这个对XML文件。 环境是MS Windows 7 / Windows 2008,我不介意它是如何实现的,无论是电源shell,FART.exe或任何其他search和replace工具。 谢谢,史蒂夫 ————————————————– — 感谢大家的帮助。 我能够用java脚本来满足特定的需求。 现在变得更有趣了。 一个新的要求是要求能够扭转数据从服务器(B)stream向服务器(A)的过程。 所以现在我需要扭转顺序。 它将从具有DEC版本的XML文件开始,并且转换后的文件将在末尾需要具有000000的HEX格式。 输出文件可以是一个普通的.txt文件,格式如下: (结束; 3; 1总是一样的) 1;One;TestOne;E4583A4F000000;3;1 2;Two;TestTwo;9B2EB93F000000;3;1 这是一个带有两(2)个持卡人条目的XML示例。 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CrossFire culture-info="en-US" platform-version="0.0.640.0024" product-version="0.0.640.0025"> <SoftwareHouse.NextGen.Common.SecurityObjects.Personnel ImportMode="Default"> <FirstName>One</FirstName> <LastName>OneTest</LastName> <SoftwareHouse.NextGen.Common.SecurityObjects.PersonnelClearancePair ImportMode="Default"> <ClearanceKey>Clearance_1 [[Default]]</ClearanceKey> <PersonnelID>5000</PersonnelID> </SoftwareHouse.NextGen.Common.SecurityObjects.PersonnelClearancePair> <SoftwareHouse.NextGen.Common.SecurityObjects.Credential ImportMode="Default"> […]

将VBS应用于当前目录中的文件

我有一些VBS代码用于将Excel格式应用于电子表格: Set xlObj = CreateObject("Excel.Application") Set xlFile = xlObj.WorkBooks.Open("C:\Documents and Settings\user\forms.xlsx") xlObj.Application.DisplayAlerts = False For Each Worksheet In xlFile.Worksheets dPriorWorkday = xlObj.Application.WorksheetFunction.WorkDay(Now, -1) Worksheet.Name = "Forms received " & Year(dPriorWorkday) & "-" & Right("0" & Month(dPriorWorkday),2) & "-" & Right("0" & Day(dPriorWorkday),2) With Worksheet.Cells.Font .Name = "Arial" .Size = 8 End With Next xlFile.Close True […]

如何通过batch fileclosuresexcelmacros而不进行任何保存更改?

我想通过batch fileclosuresexcel文件。 我已经打开UserForm1,我需要运行batch file来closures此用户窗体与Excel一起没有任何保存更改