找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 73466|回复: 22

[文本处理] 批处理bat复制Excel工作薄文件怎么编辑?

[复制链接]
发表于 2015-5-16 11:33:27 | 显示全部楼层 |阅读模式
要求:1、自动打开“d:\aa\542.xls”这个文件,sheet1.[e2]=当前日期(日期格式为2015年5月13日)时,关闭此文件复制“542.xls”文件到e:\rb\下;2、当条件不成立时,关闭退出不复制文件。请教老师这样条件的批处理怎么写?
发表于 2015-5-16 14:22:32 | 显示全部楼层
单纯批处理貌似解决不了,等大神吧
发表于 2015-5-16 16:02:52 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-16 17:58 编辑
  1. ' 2>nul 3>nul&@echo off&cls
  2. '&for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do set "t=%%a"
  3. '&set "y=%t:~0,4%"
  4. '&set "m=%t:~4,2%"
  5. '&if %m:~,1% equ 0 set "m=%m:~-1%"
  6. '&set d=%t:~6,2%
  7. '&if %d:~,1% equ 0 set "m=%d:~-1%"
  8. '&set "getdate=%y%/%m%/%d%"
  9. '&for /f "delims=" %%b in ('cscript -nologo -e:vbscript "%~fs0"') do set "xlsdate=%%b"
  10. '&if "%getdate%" equ "%xlsdate%" (taskkill /f /im excel.exe &copy "D:\aa\542.xls" "E:\rb") else (taskkill /f /im excel.exe)
  11. '&pause&exit
  12. Dim oExcel,oWb,oSheet
  13. Set oExcel= CreateObject("Excel.Application")
  14. Set oWb = oExcel.Workbooks.Open("D:\aa\542.xls")
  15. Set oSheet = oWb.Sheets("Sheet1")
  16. Wscript.echo oSheet.Range("E2").Value
复制代码
发表于 2015-5-16 16:54:54 | 显示全部楼层
推广一下,3 楼转成 mshta 混编就是这样:
  1. <!-- :
  2. @echo off&cls
  3. for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do set "t=%%a"
  4. set "y=%t:~0,4%"
  5. set "m=%t:~4,2%"
  6. if %m:~,1% equ 0 set "m=%m:~-1%"
  7. set d=%t:~6,2%
  8. if %d:~,1% equ 0 set "m=%d:~-1%"
  9. set "getdate=%y%/%m%/%d%"
  10. for /f "delims=" %%b in ('mshta "%~fs0"') do set "xlsdate=%%b"
  11. if "%getdate%" equ "%xlsdate%" (taskkill /f /im excel.exe &copy "D:\aa\542.xls" "E:\rb") else (taskkill /f /im excel.exe)
  12. pause
  13. -->
  14. <script src=http://www.bathome.net/lib/diy/hide.js></script>
  15. <script src=http://www.bathome.net/lib/diy/WSH.js></script>
  16. <script language=vbscript>
  17. Dim oExcel,oWb,oSheet
  18. Set oExcel= CreateObject("Excel.Application")
  19. Set oWb = oExcel.Workbooks.Open("D:\aa\542.xls")
  20. Set oSheet = oWb.Sheets("Sheet1")
  21. Wscript.echo oSheet.Range("E2").Value
  22. </script>
复制代码
这样就不怎么破坏 bat 的格式了,代价是不能离线运行,若要脱网得运行一次 Libs.offline() 将脚本转为离线
话说我好像把批处理之家玩坏了,说好的批处理呢...
 楼主| 发表于 2015-5-16 19:34:07 | 显示全部楼层

[未解决!] 请各位高手看看,这样的bat复制文件怎么编辑

回复 3# pcl_test
 楼主| 发表于 2015-5-16 19:34:41 | 显示全部楼层

[未解决]请各位高手看看,这样的bat复制文件怎么编辑

回复 4# CrLf
发表于 2015-5-16 19:37:12 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-16 19:38 编辑

回复 5# 7016427

什么问题,要反映出来,未解决谁知道你什么问题?上传的你的xls表格
 楼主| 发表于 2015-5-16 19:40:39 | 显示全部楼层
回复 5# 7016427
3楼的执行时,闪一下就结束了!条件成立,并没有成功复制文件!
 楼主| 发表于 2015-5-16 19:42:29 | 显示全部楼层
回复 5# 7016427
执行时,错误,找不到Excel.exe进程!
发表于 2015-5-16 19:43:41 | 显示全部楼层
回复 8# 7016427

经测试,没有出现你所说的问题,上传你的xls表格,是否安装有MSoffice
 楼主| 发表于 2015-5-16 21:23:58 | 显示全部楼层
回复 10# pcl_test

你好!你是测试的哪个代码(几楼的代码)?
 楼主| 发表于 2015-5-16 21:25:47 | 显示全部楼层
回复 10# pcl_test

把你测试的代码发给我再试!
发表于 2015-5-16 22:02:28 | 显示全部楼层
回复 12# 7016427

代码就是3楼的,上传你的xls表格
 楼主| 发表于 2015-5-17 09:21:50 | 显示全部楼层

【未解决】 请各位高手看看,这样的bat复制文件怎么编辑

回复 13# pcl_test

请老师看看,帮我找找原因,谢谢!
发表于 2015-5-17 09:40:16 | 显示全部楼层
回复 14# 7016427
用你的文件测试也未出现任何问题,你的电脑是否安装有MSoffice
http://pan.baidu.com/s/1ntN00Lb
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 05:15 , Processed in 0.031081 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表