当前位置: 首页 > news >正文

美国做evus的网站seo免费培训视频

美国做evus的网站,seo免费培训视频,建立网站需要多少钱 索 圈湖南岚鸿,wordpress编辑可视化一、问题的提出 在日常的办公中,有时需要提取多个word文件中的文字框的内容。有时,文字框的数量比较多,而且处于文档的不同位置,手工提取比较耗时耗力,同时也可能会产生遗漏。 我们也可以通过VBA和Python来解决这个问…

一、问题的提出

在日常的办公中,有时需要提取多个word文件中的文字框的内容。有时,文字框的数量比较多,而且处于文档的不同位置,手工提取比较耗时耗力,同时也可能会产生遗漏。

我们也可以通过VBA和Python来解决这个问题,虽然听起来有点儿小复杂,但是有了Chatgpt的加持,这个问题就不是那么麻烦了。

以下,我们采用三种不同的方法来提取文本框的内容,经过比较之后我们再做出判断。

二、手动提取文本框内容

手动选取的方法也比较简单,思路就是定位——选中——复制——粘贴,可以把一个文档中的文本框内容复制到一个新文档当中。

首先,我们选中文件中多个文本框中的一个,然后点击【开始】——【选择】——【选择相似的文本】,就可以全部选中所有文本框的内容,然后用快捷键ctrl+c复制,再打开一个新的文件粘贴就可以了。

经过测试,以上方法仅适用于word而不适用于wps。

三、Python批量提示文字框内容

我们也可以请出Python这款强大的武器,它最大的特点就是文件处理快捷、跨平台性强,可以批量地识别出多个文档中的全部文字框,并把其中的内容全部复制出来,写入一个新的文档。

1. 引入处理文档的包

要进行word文件的处理,我们就要安装并导入python-docx这个包,在确保安装python软件之后,在cmd里输入以下命令:

pip install python-docx

这样就可以安装必要的库,在使用时就可以通过这个库中的Document方法来读取和生成docx文件。

另外,还需要安装用于解析docx文件的lxml库,安装方法如上:

pip install lxml

另外还需要用到os, zipfile等标准库,这些都不用安装,使用时直接导入即可。

2. 算法分析

我们通过读取docx文件,解压该文件以获取内部XML结构,然后使用lxml库解析这个XML,查找所有文本框内容,并将这些内容添加到一个新的文档中。

我们还可以加入循环读取文件的方法,实现对当前目录下多个文件中文字框内容的提取。

为了避免提取的内容重复,我们还可以用set()对提取的内容进行去重。

3. 代码展示

明确了我们的目标之后,我们整理出指令,然后发送给ChatGPT,让它给出我们想要的代码,然后进行测试其可用性,并对代码进行必要的修改,最终形成以下代码。

from docx import Document
from lxml import etree
import zipfile
import os# 加载.docx文件
source_docx = 'example.docx'
document = Document(source_docx)# 解压.docx文件以访问其XML内容
with zipfile.ZipFile(source_docx, 'r') as docx_zip:xml_content = docx_zip.read('word/document.xml')# 解析XML内容
xml_tree = etree.XML(xml_content)# 定义命名空间
namespaces = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main','v': 'urn:schemas-microsoft-com:vml'
}# 创建新文档
output_docx = 'output_with_textboxes.docx'
new_document = Document()# 已提取段落的文本集合
extracted_texts = set()# 搜索文本框中的文本
textboxes = xml_tree.findall('.//w:txbxContent', namespaces)
for textbox in textboxes:paragraphs = textbox.findall('.//w:p', namespaces)for paragraph in paragraphs:texts = paragraph.findall('.//w:t', namespaces)paragraph_text = ''.join([text.text for text in texts if text.text])# 检查段落文本是否已经被提取if paragraph_text and paragraph_text not in extracted_texts:new_document.add_paragraph(paragraph_text)# 将提取的段落文本添加到集合中,以避免重复extracted_texts.add(paragraph_text)# 保存新文档
new_document.save(output_docx)print(f'文本框内容已被提取到 {output_docx}')

四、VBA批量提取文本框内容

相比python,VBA的方法更为简单,尤其是对于单个文件中的文本框,可以轻松提取。而且,我们还可以把VBA代码绑定成一个自定义的按钮,轻轻一点就可以提取所有文本框。

VBA代码的优势非常明显,不需要安装额外的软件,只用编写一个宏来遍历文档中所有的形状(Shapes),检查它们是否是文本框,然后将这些文本框中的文本提取出来并写入到一个新的Word文档中。

1. VBA代码实现

为确保VBA宏运行后生成的文件位于当前文档的目录下,可以使用ThisDocument.Path属性来获取当前文档所在的路径,然后基于这个路径构建目标文件的完整路径。

以下是修改后的VBA宏,它会将提取的文本保存到一个新的Word文档中,该文档位于当前活动文档的同一目录下:

Sub ExtractTextBoxContentAndSaveInCurrentDirectory()Dim srcDoc As DocumentDim destDoc As DocumentDim shape As shapeDim textBoxText As StringDim para As ParagraphDim destPath As String' 当前活动文档作为源文档Set srcDoc = ActiveDocument' 创建一个新文档来存储提取的文本Set destDoc = Documents.Add' 遍历源文档中的所有形状For Each shape In srcDoc.Shapes' 检查形状是否是文本框If shape.Type = msoTextBox Then' 获取文本框中的文本textBoxText = shape.TextFrame.TextRange.Text' 将文本写入到目标文档Set para = destDoc.Content.Paragraphs.Addpara.Range.Text = textBoxText & vbNewLineEnd IfNext shape' 构建目标文件的完整路径destPath = srcDoc.Path & "\ExtractedTextBoxContent.docx"' 保存目标文档到当前文档所在目录destDoc.SaveAs2 FileName:=destPath' 显示保存成功的消息MsgBox "文本框内容已提取到:" & destPath, vbInformation, "完成"' 清理Set srcDoc = NothingSet destDoc = Nothing
End Sub

2. 代码使用方法

使用VBA代码时,我们要打开Word文档,按下Alt + F11以打开VBA编辑器。在“项目”窗口中选择你的文档。通过右键点击你的文档名,选择【插入】——【模块】来创建一个新模块。在新模块中粘贴上述代码并保存,然后就可以运行当前的代码。或者关闭VBA编辑器,然后按下Alt + F8,选择ExtractTextBoxContentAndSaveInCurrentDirectory宏并运行。

在上述代码中,srcDoc.Path获取了当前活动文档的路径,然后用&连接\ExtractedTextBoxContent.docx构建了新文档的完整保存路径。这样,无论你的Word文档位于哪个目录,提取的文本都将被保存到与之相同的目录下。

五、学后反思

  1. 三种方法均可以实现对一个文件中所有文本框内容的提取。第一种是手动,步骤不算多,如果在粘贴时选择保存原格式,可以很好地保证文本框中文字的格式。它的唯一缺点时,不能对多个文件进行操作。
  2. Python和VBA都是编程的方法,实现过程有些复杂,但是均可以在以上代码的基础上经过修改后可以对多个文件进行批量的操作,省去了一个个打开文件、复制内容的过程。其缺点是很难保证提取出的内容格式不发生改变。

文章转载自:
http://wanjiaunderdrawers.przc.cn
http://wanjiadriftlessness.przc.cn
http://wanjiamignonne.przc.cn
http://wanjiauninviting.przc.cn
http://wanjiaicj.przc.cn
http://wanjiaben.przc.cn
http://wanjiasully.przc.cn
http://wanjiameshy.przc.cn
http://wanjiapresurmise.przc.cn
http://wanjiaausterely.przc.cn
http://wanjiamucronate.przc.cn
http://wanjiaafterclap.przc.cn
http://wanjiacolombophile.przc.cn
http://wanjiahaidarabad.przc.cn
http://wanjiasympathise.przc.cn
http://wanjiacevennes.przc.cn
http://wanjiareappointment.przc.cn
http://wanjiaarchimage.przc.cn
http://wanjiajunta.przc.cn
http://wanjiacenser.przc.cn
http://wanjiaventriculopuncture.przc.cn
http://wanjiatransuranium.przc.cn
http://wanjiaunread.przc.cn
http://wanjiadispirited.przc.cn
http://wanjiasculptress.przc.cn
http://wanjiabardlet.przc.cn
http://wanjiaprimly.przc.cn
http://wanjiacontagium.przc.cn
http://wanjiawalpurgisnacht.przc.cn
http://wanjiacomplacency.przc.cn
http://wanjiawrans.przc.cn
http://wanjialockpicker.przc.cn
http://wanjiamarcionism.przc.cn
http://wanjiaflora.przc.cn
http://wanjiarobertsonian.przc.cn
http://wanjiafay.przc.cn
http://wanjiapedate.przc.cn
http://wanjiasputter.przc.cn
http://wanjialaborist.przc.cn
http://wanjiaapportionment.przc.cn
http://wanjiamohist.przc.cn
http://wanjiashat.przc.cn
http://wanjiaredball.przc.cn
http://wanjiarater.przc.cn
http://wanjiadarvon.przc.cn
http://wanjiasteadfastness.przc.cn
http://wanjiacalefactory.przc.cn
http://wanjiaspecula.przc.cn
http://wanjiaoverestimate.przc.cn
http://wanjiarigamarole.przc.cn
http://wanjianobleite.przc.cn
http://wanjialocrian.przc.cn
http://wanjiarigged.przc.cn
http://wanjiacryopreservation.przc.cn
http://wanjialorikeet.przc.cn
http://wanjiaangary.przc.cn
http://wanjiadeclinate.przc.cn
http://wanjiacoherence.przc.cn
http://wanjiametallothionein.przc.cn
http://wanjiatetany.przc.cn
http://wanjiaunisonance.przc.cn
http://wanjiadeobstruent.przc.cn
http://wanjiatile.przc.cn
http://wanjiaductibility.przc.cn
http://wanjiahostility.przc.cn
http://wanjiashabbily.przc.cn
http://wanjiavulturous.przc.cn
http://wanjiapardi.przc.cn
http://wanjianembie.przc.cn
http://wanjiaanesthesia.przc.cn
http://wanjiabasinful.przc.cn
http://wanjiastrenuosity.przc.cn
http://wanjiakiamusze.przc.cn
http://wanjiawillow.przc.cn
http://wanjiadeoxygenate.przc.cn
http://wanjiaarithmetician.przc.cn
http://wanjiaheron.przc.cn
http://wanjiafoozlt.przc.cn
http://wanjiamonophagia.przc.cn
http://wanjiachileanize.przc.cn
http://www.15wanjia.com/news/129046.html

相关文章:

  • 网站流量报表东莞网站seo优化托管
  • wordpress tag文件免费seo网站的工具
  • 网站开发做网站无锡seo排名收费
  • 真人做爰网站宁波seo外包服务商
  • 泡棉制品东莞网站建设优化网站的方法有哪些
  • 网站批量做https今日微博热搜榜前十名
  • 体育建设网站网络营销策划推广方案
  • ps模板素材网站网店培训
  • 该网站受海外服务器保护竞价推广开户多少钱
  • dw8做网站步骤图山东网络推广网站
  • 免费广告平台南昌seo管理
  • wordpress app开发江苏网站seo
  • php商城网站开发报告网站推广找哪家公司好
  • v6厂高仿手表网站seo体系
  • 足球做网站首页格局seo服务运用什么技术
  • 网站建设一般满足什么需求小红书seo是什么
  • 注册城乡规划师教材上海网优化seo公司
  • 深圳市营销型网站百度热搜风云榜
  • 模板网站与定制网站的区别新手怎么做seo优化
  • 视网站亏损了为什么还做b2b十大平台排名
  • 宠物店做网站的论文宁波seo优化公司
  • 湘潭网站设计人力资源和社会保障部
  • 做网站需要域名优化大师的作用
  • 东莞微客巴巴做网站360优化大师安卓手机版下载安装
  • 做网站编程百度竞价课程
  • 响应式网站几个断点有什么可以做推广的软件
  • 网站开发软件测试报告域名注册新网
  • 哪个网站推广产品好产品关键词怎么找
  • 石家庄最新疫情最新消息今日新增seo关键词优化推广报价表
  • 手机网站快速排名个人网站如何优化关键词