Tag: batch file

从Excel VBAmacros执行.bat文件

我有一个与我的Excel VBAmacros的问题。 我需要它执行与Excel工作簿在同一文件夹中的batch file。 代码有时运作良好。 我不知道是什么造成的错误。 代码如下: Sub writebatch() Sheets("code").Select Application.DisplayAlerts = False ActiveWorkbook.SaveAs FileName:=ThisWorkbook.path & "\code.bat", FileFormat:=xlTextPrinter, CreateBackup:=False Application.DisplayAlerts = True ThisWorkbook.Saved = True Shell "cmd.exe /k cd " & ThisWorkbook.path & "&&code.bat" Application.Quit End Sub 它写入batch file,但不执行它。 只有一次我得到命令窗口不closures,它说code.bat文件找不到。 所以changedir命令起作用了。 是否可以运行cmd.exe并运行相对path的code.bat而不必更改?

使用batch file从多个csv文件中删除特殊字符

我想使用batch file删除我的csv文件中的所有特殊字符。 我的CSV文件只有一列只能在谷歌input的关键字 例如1.Ecommerce 2.dentist Melbourne cbd? 3. Melbourne墨尔本%4。最好的牙医在墨尔本! 有时我也可以有Aracbic /汉字等等。 在这里当我将这些文件添加到GoogleAdwords-Keyword Planner时,它会显示错误信息,忽略错误。 命中关键字和避免错误我需要从我的CSV文件中删除所有特殊字符。 我有数以百计的csv文件,并希望保存更新的(没有特殊字符)文件到现有的文件。 我试过了 @echo off set source_folder=C:\Users\Username\Documents\iMacros\Datasources\a set target_folder=C:\Users\Username\Documents\iMacros\Datasources\keyfords-csv-file if not exist %target_folder% mkdir %target_folder% for /f %%A in ('dir /b %source_folder%\*.csv') do ( for /f "skip=1 tokens=1,2* delims=," %%B in (%source_folder%\%%A) do ( echo %%B>>%target_folder%\%%A ) ) timeout /t 20 但结束了从csv文件中删除所有logging。 […]

等待shell命令完成

我在Excel VBA中运行一个简单的shell命令,该命令在如下所示的指定目录中运行batch file: Dim strBatchName As String strBatchName = "C:\folder\runbat.bat" Shell strBatchName 有时batch file在某些​​计算机上可能需要更长的时间才能运行,并且正在执行的VBA代码依赖于batch file来完成运行。 我知道你可以设置一个等待计时器,如下所示: Application.Wait Now + TimeSerial(0, 0, 5) 但是,这可能无法在一些太慢的计算机上工作。 有没有一种方法可以让系统地告诉Excel继续运行其余的VBA代码,直到shell运行完毕?