Python办公

今天帮招办处理几个Excel表格,都是一些机械的重复操作,所以考虑使用Python和VBA合作来完成自动化操作,现将操作步骤记录下来以供以后使用。

Python批量修改文件名

这个很简单,只需要以下几行代码即可

import os
for i in range(80):
    filename = "xs2016-%d系-带专业代号.xlsx" % i
    dstfilename = "xs2016-%d系-不带专业代号.xlsx" % i
    print os.path.exists(filename)
    print filename
    if(os.path.exists(filename)):
        print filename
        os.rename(filename,dstfilename)

效果如下
这里写图片描述

VBA操作表格

第二步是需要进入Excel后删除每个表里的部分列,这里我们使用Excel自带的宏来完成。
按照
http://jingyan.baidu.com/article/90895e0fe9ee6164ec6b0b09.html
这个教程提供的录制宏的方法录制后,得到的宏如下

Sub 删除专业代号()
'
' 删除专业代号 宏
'
' 快捷键: Ctrl+b
'
    Columns("AN:AY").Select
    Selection.Delete Shift:=xlToLeft
End Sub

这里写图片描述

注意这里的位置为所有打开的工作簿而不是当前的工作簿。

把它的快捷键设置为Ctrl + B,然后在Python里模拟键盘输入,再使用循环即可对所有的表格执行删除操作。核心代码如下。

import os
import win32api
import win32con
import time

os.startfile("带专业代号\\xs2016-1系-带专业代号.xls")
time.sleep(5)
win32api.keybd_event(17,0,0,0)  #ctrl键位码是17
win32api.keybd_event(66,0,0,0)  #B键位码是66

win32api.keybd_event(66,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

通过Python模拟鼠标和键盘以及VBA即可实现诸如Office、Auto CAD等常用软件的批量处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值