vbs操作excel

航天金税系统升级,导出的Excel文件格式与原来有的差异,老的数据导入程序识别不了该文件,对比了新老文件后,发现新文件在专票和普票的“份数”行前增加了一行,同时增加了“单据号”列,通过脚本 把这些删除。

 1 SetNewFormat("C:\Users\gukajie\Desktop\增值税专普发票数据导出20150619.xls")
 2
 3 Function SetNewFormat(filename)
 4 Dim Ex, Wb, Sht
 5 Dim LastRow, r
 6 Dim name3
 7 Set Ex = CreateObject("Excel.Application")
 8 Set Wb = Ex.Workbooks.Open((filename))
 9 Set Sht = Wb.Sheets("Sheet1")
10 ‘删除第2到第5行
11 ‘Sht.Rows("2:5").Delete
12     LastRow = Sht.UsedRange.Rows.Count
13     ‘MsgBox LastRow
14     For r = 2 To LastRow Step 1
15     name =Sht.range("A"&r).Value
16     name2 =Sht.range("J"&(r-1)).Value
17     If (left(name,2)="份数" and name2="") Then
18         Sht.Rows(r-1).Delete
19         ‘MsgBox r
20     End If
21
22     If (r=6) Then
23         name3 =Sht.range("H"&(6)).Value
24     End If
25
26     Next
27
28     If (name3="单据号") Then
29     Sht.Columns(8).Delete
30     End If
31
32
33 Ex.ActiveWorkbook.Save
34 ‘MsgBox "操作完成"
35 Ex.Quit
36 End Function

但是把脚本加入windows计划任务后发现无法执行,第次运行进程里面会多出一个wscript.exe和Excel32.exe进程。实际上脚本 在执行

Set Ex = CreateObject("Excel.Application")后就没有再执行。

google了一下,发现
CreateObject("Excel.Application")需要有交互要求,有交互要求的脚本不能在计划任务中直接运行。只有在用户登录的情况下才能执行,所以,计划任务属性中需要勾选:

				
时间: 2024-10-16 22:42:06

vbs操作excel的相关文章

VBS 操作Excel

VBS操作Excel 打开excel Dim objExcel,objWorkbook,objSheet Set objExcel=CreateObject("excel.application") Set objBook=objExcel.Workbooks.Open("\\MGPCTFSW01\UserFolders$\t165050\Desktop\Portal_Smoke_Automation\Test Data\Book1.xlsx") 读取Excel a

针对Excel的vbs操作

工程中具有导入Excel数据的功能,但是需要满足一定的格式.为了在导入之前,对Excel的格式进行规范,对vbs脚本语言进行了一定的了解,并实现了一个可以将Excel全部单元格设为文本格式的vbs脚本.具体内容如下: Set args = WScript.ArgumentsPath = WScript.Arguments(0)Set ExcelApp = CreateObject("Excel.Application") Set ExcelBook = ExcelApp.Workboo

POI操作Excel

Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. POI工具包 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 9

java 操作 Excel,java导出excel

WritableWorkbook out = null; try { response.getServletResponse().reset(); ((HttpServletResponse) response.getServletResponse()).setHeader("Content-Disposition", "attachment;filename=export.xls"); response.getServletResponse().setConten

python操作excel

python操作exce的方式: 使用win32com 使用xlrd(读excel).xlwt(写excel) 1.使用win32com方式 代码: # coding=utf-8 from win32com.client import Dispatch import pywintypes ''' 查看excel最大行数和列数 打开一个空白新建EXCEL表格,按CTRL+下箭头,可以查看到最大行数:按CTRL+右箭头, 可以查看到最大列标(若想显示列数,可在最右一列的某单元格中输入=column(

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

POI组件:POI操作Excel

1.Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. 2.POI工具包 POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现&qu

JAVA的POI操作Excel

1.1Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组成,列用大写英文字母表示,从A开始到Z共26列,然后再从AA到AZ又26列,再从BA到BZ再26列以此类推.行则使用数字表示,例如:A3 表示第三行第一列,E5表示第五行第五列. 1.2 POI工具包 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Exce

Java文件操作系列[2]——使用JXL操作Excel文件

由于java流无法实现对Excel文件的读写操作,因此在项目中经常利用第三方开源的组件来实现.支持Excel文件操作的第三方开源组件主要有Apache的POI和开源社区的JXL. 总体来说,二者的区别是:JXL较为轻量级,如果是对Excel文件的简单操作,建议使用JXL:POI的功能相当强大,但同时处理问题也相当的繁琐. 1.准备工作 [必需]下载JXL的jar包:jxl.jar [非必需]JXL API  (提取密码:zgqj) 2.一些必要的说明 主要是对Excel结构的说明: Excel后