python自动化:uiautomation、pyautogui操作会计记账系统(5):财务公开

python自动化:uiautomation、pyautogui操作会计记账系统(5):财务公开

#coding=utf-8
#Beijia To Excel accounting disclosure财务公开
import xlrd, xlwt, pyautogui, time, pyperclip, openpyxl,pandas,os, tkinter,\
    datetime, win32gui, uiautomation, subprocess, xlwings,json, easygui

pyautogui.PAUSE = 1
mont_list =['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
mont_input = 12
year_input = 2021

def creat_file(year_input):
    print('开始运行创建文件夹自定义函数……')
    with open('**电脑端账套号生成村委会文件夹用.txt', 'r') as f:
        dic = []
        for line in f.readlines():
            line = line.strip('\n')  # 去掉换行符\n
            b = line.split('\t')  # 将每一行以空格为分隔符转换成列表
            #print(list(b))
            dic.append(b)

        print(dic)
        admin_villi_dict=dict(dic)
        print('账套所在的村委会文件夹列表是:')
        print(admin_villi_dict)#列表转字典
    if not os.path.exists('D:\**会计系统导出数据'):
        os.mkdir('D:\**会计系统导出数据')

    admin_villi_list=['前锋', '西海', '八家', '冲洋', '新围', '竹洛', '竹湖', '新屋', '达材', '朝中', '官窦', '伞塘', '白岗', '稔坪', '西坑', '三和', '居委']

    year = time.strftime("%Y")
    #print("当前年份是:", year)
    if year_input==year:#等于
        time1 = time.strftime("%Y%m%d", time.localtime())  # 加上秒不会出现同名
    else:


        time1= year_input #赋值
    #print('创建第3层文件夹folder3_1')
    folder3_1 = r"D:\**会计系统导出数据" + '\\' + time1 + '财务公开系列表'
    #print('判断文件夹是否存在,不存在则创建,文件保存在:'+folder3_1)
    if not os.path.exists(folder3_1):
        os.mkdir(folder3_1)
    #print('创建第4层文件夹folder4_i')
    for i in range(0,16):
        folder_admin_villi=time1+admin_villi_list[i]+'财务公开系列表'
        folder4_i=r'D:\**会计系统导出数据'+'\\'+ time1 + '财务公开系列表'+'\\' +folder_admin_villi
        if not os.path.exists(folder4_i):
            os.mkdir(folder4_i)
            #print('创建文件夹:'+folder4_i)

    return  admin_villi_dict,folder3_1


def check_file(folder3_1):
    # 打开文件

    path= folder3_1
    dirs = os.listdir(path)
    year = time.strftime("%Y")



    file_accnt_num_list=[]
    for home, dirs, files in os.walk(path):
        for file_name in files:
            #filelist.append(os.path.join(home, file_name))
            if os.path.splitext(file_name)[1] == '.xls':
                #print(file_name)
                file_year = file_name[0:4]  # 截取文件名前4个字符
                #print(file_year)
                # os.rename(file, new)  # 进行重命名

                if file_year == year:
                    # 取整方法是可以去除0,但是遇到字符串不能转化为整型会报错
                    # file_accnt_num=int(file_name[9:12])
                    s = file_name[9:12]
                    file_accnt_num = "".join(s[::1]).lstrip("0")
                    #print(file_accnt_num)
                else:
                    s = file_name[5:8]
                    file_accnt_num = "".join(s[::1]).lstrip("0")
                    #print(file_accnt_num)
                file_accnt_num_list.append((file_accnt_num))

    #print(filelist)
    #print(file_accnt_num_list)
    #print('对列表进行排序,查找时可能减少遍历次数。也便于根据账套号顺序查找')
    #file_accnt_num_list2=file_accnt_num_list.sort()
    #print('sort影响列表本身,sorted不影响列表本身,用sort排序')
    file_exist_list = sorted(file_accnt_num_list)
    print('已导出的文件列表','file_exist_list:')
    print(file_exist_list)
    print('已导出的文件数量',len(file_exist_list))
    return file_exist_list

def accnt_login(account_Num):
    wc1 = uiautomation.WindowControl(searchDepth=1, Name='帐套登陆')

    # 设置为顶层
    #pyautogui.alert(text="按回车键继续程序", title="提示")  # 窗口前置才能用键盘快捷键
    wc1.SetTopmost(True)  # 置顶能用快捷键
    pc2_1= wc1.PaneControl(searchDepth=1, Name='帐套信息')
    ec3_8=pc2_1.EditControl(searchDepth=1, Name='', foundIndex=2)
    ec3_8.SetFocus()
    #print('ec3_8')
    #print('账套号输入框的位置是:')
    #print(ec3_8.BoundingRectangle)
    pyperclip.copy(account_Num) #account_Num是账套号
    pyautogui.hotkey('ctrl', 'v') 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值