python 执行vba脚本_用python批量执行VBA代码

#!/usr/bin/env python#-*- coding:utf-8 -*-

importsavReaderWriter

filepath= "/opt/code/my_code/testStata/5976d077606f07d4418b46eb160938.sav"a= '''Dim m

m = 1

Columns("'''b= '''").Select

m = 1

On Error GoTo Err_Handle'''c= '''For m = 1 To 65

Selection.Find(What:="'''d= '''", After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

False, MatchByte:=False, SearchFormat:=False).Activate

ActiveCell.Replace What:="'''e= '''", Replacement:="'''f= '''", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

ReplaceFormat:=False

Next m'''g= '''Exit Sub

Err_Handle:

End Sub'''sum=0

totalStr= '************hello************'excelList= ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',"AA","AB","AC","AD","AE","AF","AG","AH","AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT","AU","AV","AW","AX","AY","AZ","BA","BB","BC","BD","BE","BF","BG","BH","BI","BJ","BK","BL","BM","BN","BO","BP","BQ","BR","BS","BT","BU","BV","BW","BX","BY","BZ","CA","CB","CC","CD","CE","CF","CG","CH","CI","CJ","CK","CL","CM","CN","CO","CP","CQ","CR","CS","CT","CU","CV","CW","CX","CY","CZ","DA","DB","DC","DD","DE","DF","DG","DH","DI","DJ","DK","DL","DM","DN","DO","DP","DQ","DR","DS","DT","DU","DV","DW","DX","DY","DZ","EA","EB","EC","ED","EE","EF","EG","EH","EI","EJ","EK","EL","EM","EN","EO","EP","EQ","ER","ES","ET","EU","EV","EW","EX","EY","EZ","FA","FB","FC","FD","FE","FF","FG","FH","FI","FJ","FK","FL","FM","FN","FO","FP","FQ","FR","FS","FT","FU","FV","FW","FX","FY","FZ","GA","GB","GC","GD","GE","GF","GG","GH","GI","GJ","GK","GL","GM","GN","GO","GP","GQ","GR","GS","GT","GU","GV","GW","GX","GY","GZ","HA","HB","HC","HD","HE","HF","HG","HH","HI","HJ","HK","HL","HM","HN","HO","HP","HQ","HR","HS","HT","HU","HV","HW","HX","HY","HZ","IA","IB","IC","ID","IE","IF","IG","IH","II","IJ","IK","IL","IM","IN","IO","IP","IQ","IR","IS","IT","IU","IV","IW","IX","IY","IZ","JA","JB","JC","JD","JE","JF","JG","JH","JI","JJ","JK","JL","JM","JN","JO","JP","JQ",

]defreadSpss():

with savReaderWriter.SavReader(filepath, ioUtf8=True) as read:

ret=read.getSavFileInfo()return ret[4], ret[2], ret[5], ret[6]defvbaStr(totalStr, sum, readSpss):

formats, varnames, varLabels, valueLabels=readSpss()for i inrange(len(varnames)):if varnames[i] invalueLabels:

subvalueLables={}for j invalueLabels[varnames[i]]:

subvalueLables[int(j)]=valueLabels[varnames[i]][j]#totalStr += a + excelList[i] + ":" + excelList[i] + b

for zz insubvalueLables:

totalStr+= a + excelList[i] + ":" + excelList[i] +b

totalStr+= c + subvalueLables[zz] + d + subvalueLables[zz] + e + str(zz) +f

totalStr+=g

sum+= 1totalStr+= "************hello************"

#totalStr += g

totalStr += "============================="

else:continue

returntotalStr, sum

totalStr, sum=vbaStr(totalStr, sum, readSpss)print(totalStr)print(sum)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值