推荐一个界面设计软件aardio,配合python三分钟制作一个小软件。【批量doc文件转docx文件】

文章目录

  • 前言
  • 一、aardio软件代码
  • 二、python代码
  • 总结


前言

aardio这个软件不多说,好用方便。


一、aardio软件代码

import win.ui;
/*DSG{{*/
mainForm = win.form(text="批量doc文件转docx文件";right=623;bottom=171)
mainForm.add(
button={cls="button";text="选择待转换目录";left=319;top=48;right=433;bottom=76;z=1};
button2={cls="button";text="选择保存目录";left=319;top=92;right=432;bottom=118;z=2};
button3={cls="button";text="开启转换";left=457;top=51;right=597;bottom=121;z=5};
edit={cls="edit";left=37;top=47;right=300;bottom=76;edge=1;multiline=1;z=3};
edit2={cls="edit";text="开启转换以后没那么快,需要等待一点时间";left=36;top=92;right=302;bottom=120;edge=1;multiline=1;z=4}
)
/*}}*/

import py3;

import fsys.dlg 

/*
import console;
import py3.pip;
py3.pip("install","pywin32")
*/

py3.exec($"\res\fh.py");


mainForm.button.oncommand = function(id,event){
	mainForm.edit.text = fsys.dlg.opendir()

}

mainForm.button2.oncommand = function(id,event){
	mainForm.edit2.text = fsys.dlg.opendir()
}

mainForm.button3.oncommand = function(id,event){
	py3.main.GetDocx(py3.export(mainForm))
	mainForm.msgbox("转换成功")

}

mainForm.show();
return win.loopMessage();

第一次运行的时候,下面代码要先跑一下,才会把相关的库放到项目的文件夹内。

import console;
import py3.pip;
py3.pip("install","pywin32")

运行以后相关的库就在项目的文件夹内,一会一起打包生成exe文件。

二、python代码

import os
from win32com import client as wc
import time
import shutil

def GetDocx(mainForm):
    original_path = mainForm.edit.text
    new_path = mainForm.edit2.text

    if not os.path.exists(new_path):
        os.makedirs(new_path)

    files = [file for file in os.listdir(original_path) if file.endswith(('.doc', '.docx')) and not file.startswith('~$')]
    
    
    for file in files:
        word = wc.Dispatch("Word.Application")
        print("已处理文件:" + file)
        file_path = os.path.join(original_path, file)
        new_file_path = os.path.join(new_path, file)

        # 对于doc文件,先转换成docx
        if file.endswith('.doc'):
            doc = word.Documents.Open(file_path)
            # 删除文件扩展名,添加新的扩展名.docx
            new_file_path = os.path.splitext(new_file_path)[0] + '.docx'
            doc.SaveAs(new_file_path, 12)  # 12表示docx格式
            doc.Close()
            word.Quit()
            time.sleep(0.5)  # 暂停0.5秒
        # 对于docx文件,直接复制
        elif file.endswith('.docx'):
            shutil.copy2(file_path, new_file_path)

代码很短,要关注几个地方。

original_path = mainForm.edit.text
new_path = mainForm.edit2.text

这2行代码是从aardio软件中获取edit编辑框的文本,其实就是文件途径。
延时是为了使软件稳定,太快就报错。

aardio程序中是通过py3.main.GetDocx(py3.export(mainForm))调用这个GetDocx函数的,其他的就不说了,先用用这个软件把。


总结

软件界面如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/233980.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端面经(字节)------持续更新

1. JS数据类型有哪些? JS数据类型分为两类: 基本数据类型(也叫简单数据类型),包含7种类型,分别是: Number,String,Boolean,Null,Undefined&…

perl处理base64、md5、SHA-1、SHA-256的计算

使用perl可以进行base64、md5、SHA-1、SHA-256的计算,使用也非常方便,下面是示例代码: #! /usr/bin/perl use v5.14; use MIME::Base64; use Digest;my $test_str hello world;# 测试base64 say encode_base64($test_str);# 测试md5 my $md…

Rsync+Sersync

服务器相关参数 源服务器 192.168.17.101 目标服务器(同步到的服务器) 192.168.17.103 ##目标服务器配置 ###1、配置rsync服务 1、安装rsync yum -y install rsync 2、配置rsync vim /etc/rsyncd.conf 配置文件内容 uid root gid root use c…

Jenkins+Ant+Jmeter接口自动化集成测试

一、Jenkins安装配置 1、安装配置JDK1.6环境变量; 2、下载jenkins.war,放入C:\jenkins目录下,目录位置随意; Jenkins启动方法: cmd进入Jenkins目录下,执行java -jar jenkins.war 浏览器输入:l…

网络协议疑点记录

1.RIP, OSPF,BGP 首先什么是自治系统:治系统就是几个路由器组成了一个小团体 ?,小团体内部使用专用的协议进行通信,而小团体和小团体之间也使用专用的协议进行通信。 IGP RIP 距离矢量路由算法,bellman-ford算法,每个路由节点知道全局的路由信息,通过和邻居交换信息得…

【MySQL进阶】索引使用

一、索引使用 1.验证索引效率 tb_sku 这张表中准备了 1000w 的记录。 我用夸克网盘分享了「1000w的模拟数据」链接:https://pan.quark.cn/s/15cf665202b2 这张表中id为主键,有主键索引,而其他字段是没有建立索引的。 我们先来查询其中的…

「Verilog学习笔记」多bit MUX同步器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 输入数据暂存在data_reg中,使能信号data_en用打两拍的方式跨时钟域传输到时钟域B,最后data_out根据使能信号更新数据。data_en信号在A时钟域用一个D…

Spring Boot的配置文件

配置文件的作用 整个项目中所有重要的数据都是在配置文件中配置,如数据库的连接信息,项目的启动端口,用于发现和定位问题的普通日志和异常日志等等。配置文件可以分为两类 系统使用的配置文件(系统配置文件)&#xf…

309. 买卖股票的最佳时机含冷冻期(leetcode) 动态规划思想

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化边界条件4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中,我们将要详细介绍一下Leetcode中买卖股票的最佳时机含冷冻期相关的内容,本题采用动态规划的思想解决 一、…

Oracle高可用一家老小全在这里

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

打工人副业变现秘籍,某多/某手变现底层引擎-Stable Diffusion写好提示词

Stable Diffusion 是一种文生图 AI 模型,由互联网上数百万图像和文本描述对训练而来,通过理解文本描述与图像信息的内在关联,不断利用扩散过程进而得到满意的生成图片。 比如,通过一串提示词,midjourney 会输出这样的情侣合照: A pair of young Chinese lovers, wearing…

【机器学习】040_理解偏差与方差

一、定义 偏差:衡量预测值与真实值之间的关系——指预测值和真实值之间差值 方差:衡量预测值之间的关系,与真实值无关——指各个预测值之间的离散程度 误差 偏差 方差 高偏差——模型欠拟合; 高方差——模型过拟合&#…

【已解决】解决UbuntuKali无法进行SSH远程连接

目录 Ubuntu20.04配置SSH远程连接Kali Linux配置SSH远程连接 Ubuntu20.04配置SSH远程连接 首先更新安装包 sudo apt-get update 下载SSH服务 sudo apt install openssh-server 查看SSH服务 service ssh status 打开 /etc/ssh/sshd_config文件修改配置文件 将PermitRootLog…

万户协同办公平台ezoffice wpsservlet接口任意文件上传漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞描述 万户ezOFFICE协同管理平台是一个综合信息基础应用平台&am…

JUC包(面试常问)

1. Callable接口 类似于Runnable接口,Runnable描述的任务,不带返回值;Callable描述的任务带返回值。 public class Test {//创建线程,计算12...1000public static void main(String[] args) throws ExecutionException, Interru…

论文阅读《Domain Generalized Stereo Matching via Hierarchical Visual Transformation》

论文地址:https://openaccess.thecvf.com/content/CVPR2023/html/Chang_Domain_Generalized_Stereo_Matching_via_Hierarchical_Visual_Transformation_CVPR_2023_paper.html 概述 立体匹配模型是近年来的研究热点。但是,现有的方法过分依赖特定数据集上…

输入一组数据,以-1结束输入[c]

我们新手写题时总能看到题目中类似这样的输入 没有给固定多少个数据,我们没有办法直接设置数组的元素个数,很纠结,下面我来提供一下本人的方法(新手,看到有错误或者不好的地方欢迎大佬指出,纠正&#xff0…

20231210原始编译NanoPC-T4(RK3399)开发板的Android10的SDK

20231210原始编译NanoPC-T4(RK3399)开发板的Android10的SDK 2023/12/10 17:27 rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ mkdir nanopc-t4 rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ cd nanopc-t4/ …

如何理解java中的context对象?

背景 java中,常见的 Context 有很多, 例如: ServletContext, ActionContext, ServletActionContext, ApplicationContext, PageContext, SessionContext… 常见Context 熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程&…

盲盒小程序搭建:实现盲盒消费新体验

近几年来,潮玩市场中的盲盒逐渐席卷了年轻一代人的生活,吸引了不少消费者。盲盒的不确定性给消费者带来了惊喜和快乐,盲盒的商业价值也是逐渐增加,预计2024年盲盒市场规模将突破300亿元。 但在当下互联网快速发展的时代下&#x…
最新文章