Tag: batch file

在定义符号“|”后parsing文本文件

我有一个如下所示的文本文件: 442342 | 442342 | 213123 | 5345233 | 5432543 | 5 | 5435 | 345345 | 345345 | 345345等 我想parsing它,在每个第五个符号“|”之后input换行符 并使用|导入到Excel 作为分隔符。 所以输出将是Excel文件,每行5个单元,包含来自txt文件的数据。 我的想法是parsing它在Word中的macros或作为batch file,然后使用Excel的导入function,以获得它在Excel中。 不幸的是 – 在这两种情况下我都失败了。 任何想法如何做到这一点快速和有效?

使用批处理打开Excel文件

我试图打开一个Excel文件使用批处理,但Windows没有它。 我在批处理新手,所以我很大程度上是线索,一直在试图找出使用oneline提示。 但是,我没有看到我所做的与我发现的一些例子不同。 任何人都可以指出为什么这不适用于我? @echo off cls start /d C:\Users\Admin\Gotti_Notes%20vENO0.3.xlsm 另外,因为我在问, 我怎么能设置这个运行的确切时间? 计划的任务在Windows我承担。 正确? 我得到没有错误消息…它似乎运行,但根本不做任何事情。 所有这一切的目的是在指定的时间(在晚上)打开文件,并有Excel自动运行我写的VBAmacros(这将使用“打开”命令)。 更新和解决scheme: @echo off cls call C:\Users\Admin\Notes.xlsm echo on 为了使它起作用,我必须更改名称。

在Excel中连接使用Loop来创build命令的batch file

考虑这种情况:我有一个服务器上有两个networking共享的客户端。 每个共享包含代表每个项目的相同文件夹列表(一个用于当前数据,另一个用于归档数据)。 每个项目文件夹都包含一组匹配的文件夹和子文件夹,需要分配个人权限。 当然,项目是不时添加和删除的。 我想维护Excel中的项目列表以及需要为每个项目文件夹以及所有子文件夹设置的权限列表。 我的想法是在Excel中将每行命名为一个子文件夹。 然后使用for循环将共享文件夹和项目文件夹上添加的这些命令复制到目录path。 输出将是一个batch file,我可以运行任何时候需要更改或更新权限。 编辑:我从来没有在Excel中使用VBA,search后,我似乎无法find如何使用for循环中的variables来更改工作表中引用的单元格。 从我编写任何程序开始已经有一段时间了,但是当我在CI中进行编程时,请记住可以使用for循环中的variables来引用列表/表格中的单元格。 当for循环经过迭代时,variables会计数改变列表中引用的列表中的哪个单元格。 为了把它放在Excel中,我希望每个for循环的variables都是行号,我将静态地分配列字母,因为每次迭代都不会改变。 每次运行for循环时,我都希望它将一系列单元格连接成输出到文本文件的新行的文本string。 连接会将每个循环中保持不变的单元格连接在一起,而随着variables递增的其他单元格将会更改。 例如,我想连接单元格A1,B1,Ci,Dj,E1,Fk,其中i,j和k表示用于计算每个for循环的迭代的整数的数字值。 你能告诉我什么正确的语法是完成串联可变单元格分配? 这是我的代码摘录。 For i = 2 To numberOfSharedFolders 'Loops for every subfolder (project folder) in the shared folder that needs permissions set For j = 2 To numberOfSubfolders1 'Loops for every entry of permissions on final folders For k […]

使用vbs脚本从batch file中将数据提取到Excel中

我有一个batch file,运行一组SQL查询并将数据加载到一个表中。 我已经编写了excel中的button单击的VBA脚本来检索上表中的数据。 不过,现在我的要求已经改变,无需点击button即可将数据填充到Excel中。 另外我不希望我的代码在工作簿打开事件。 我必须将我的vba代码更改为.vbs脚本,以便我可以从batch file中调用它。 请帮帮我。 纠正我,如果我的方法错了。

批量导出excel工作簿到“prn”文本格式?

我已经编写了一个脚本,用于将excel工作簿导出为“.prn”样式纯文本格式,工作簿中每个工作表的一个文本文件。 该脚本是从一个外部的批处理器中调用的,该脚本使用windows'cscript'script hosting命令定期运行。 脚本基本上可以正常工作,但在较大的工作簿上速度很慢。 我希望有人能够给我一些指示,让我可以让它跑得更快,甚至提供更好的替代方法。 脚本在这里: http : //www.visualbasicscript.com/tm.aspx? high=&m= 106086 提前致谢。

如何将批量中的值传递给Excel VBAmacros?

我有一个生成CSV文件的C#程序,然后在Excel中打开一个XLSM文件(使用ProcessStartInfo和Process.Start )。 XLSM中的macros加载CSV文件并将其中的数据分发到特定的单元格。 最终这将是C#生成一个电子表格,不用任何可以加载到任何办公套件的macros,并且CSV将消失。 我的问题是,这个系统现在需要支持从磁盘上的任何地方运行XLSM。 它通过一个硬编码的相对pathfindCSV,这不适用于用户指定的位置。 我想要做一些类似的传递一个编译参数来定义一个常量。 编辑1: 我已经考虑并拒绝的替代方法: 将XLSM复制到CSV附近的标准位置,然后从中运行。 我需要把文件复制回原来的位置,但是我不知道什么时候Excel被closures了。除了可能在Excel中,但它不知道原始位置,所以这个问题。 在用户指定的XLSM位置旁边创buildCSV文件。 CSV文件的位置在NLOGconfiguration文件中指定,并且将周围的实现更改为使用硬编码path将会很昂贵。 这是唯一的想法,可以工作,但会伤害。 从标准位置创build一个基于Windows的硬链接到自定义位置。 我不能假设我在NTFS文件系统上运行。

附加相同的插件,但从Excel上的不同文件夹启动

我有一个用C ++编写的Excel插件XLL,称它为abc.xll。 我想要做的是编写一个小批处理脚本,当我打电话给“Prod”参数开始时,它将启动Excel中的xll插件在C:\ xllProduction \ abc.xll文件夹中,当我启动它与“开发”参数,它将启动C:\ xllDev \ abc.xll文件夹中的Excel xll。 我知道我可以在.bat文件中使用set local来强制环境variables只对特定的会话有效,我可以使用start excel来启动Excel,但是我不确定如何从一个特定的xll开始。 如果有帮助,我正在使用Excel 2010。 谢谢!

batch file删除csv中的列

我写了这段代码,所以我可以从csv文件中删除一列。 @echo off setlocal enableextensions enabledelayedexpansion type nul > tmp.txt SET /A COUNT=0 for /F "tokens=*" %%A in (d.csv) do ( set LINE="%%A" set /A COUNT+=1 for /F "tokens=1,2,3,4,5,6,7,8,* delims=," %%a in (!LINE!) do ( set row[0]=%%a set row[1]=%%b set row[2]=%%c set row[3]=%%d set row[4]=%%e set row[5]=%%f set row[6]=%%g set row[7]=%%h ) echo !row[0]!,!row[2]!,!row[3]!,!row[4]!,!row[5]!,!row[6]! >>tmp.txt […]

将pipe道分隔的文件转换为.xls

我试图用batch file和VBScript将pipe道分隔的文件转换为XLS(Excel)。 不幸的是,我的“output.xls”文件仍然在表中显示pipe道分隔符,数据没有组织。 srccsvfile = Wscript.Arguments(0) tgtxlsfile = Wscript.Arguments(1) 'Create Spreadsheet 'Look for an existing Excel instance. On Error Resume Next ' Turn on the error handling flag Set objExcel = GetObject(,"Excel.Application") 'If not found, create a new instance. If Err.Number = 429 Then '> 0 Set objExcel = CreateObject("Excel.Application") End If objExcel.Visible = false […]

将焦点设置为具有批次的应用程序

我使用的WinXP,我有一个批处理脚本,我确定一个Excel工作表的文件名,然后通过简单启动该工作表启动它。 问题是Excel正在运行。 所以当batch file启动Excel工作表时,Excel被发送到前面,Excel工作表打开。 但是,重点仍然放在运行batch file的DOS框上。 如何在这种情况下将焦点设置到Excel工作表?