调教 av

你的位置:av播放器 > 调教 av > 清野 裸舞 批量索要word文献中语本框本色的三种款式

清野 裸舞 批量索要word文献中语本框本色的三种款式

发布日期:2024-12-08 12:00    点击次数:181

清野 裸舞 批量索要word文献中语本框本色的三种款式

一、问题的建议

在普通的办公中,就怕需要索要多个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 Documentfrom lxml import etreeimport zipfileimport 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 Document Dim destDoc As Document Dim shape As shape Dim textBoxText As String Dim para As Paragraph Dim 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.Add para.Range.Text = textBoxText & vbNewLine End If Next shape  ' 构建野心文献的完竣旅途 destPath = srcDoc.Path & '\ExtractedTextBoxContent.docx'  ' 保存野心文档到现时文档场所目次 destDoc.SaveAs2 FileName:=destPath  ' 流露保存得胜的音书 MsgBox '文本框本色已索要到:' & destPath, vbInformation, '完成'  ' 计帐 Set srcDoc = Nothing Set destDoc = NothingEnd Sub
2. 代码使用款式

使用VBA代码时,咱们要洞开Word文档,按下Alt + F11以洞开VBA裁剪器。在“样式”窗口中采选你的文档。通过右键点击你的文档名,采选【插入】——【模块】来创建一个新模块。在新模块中粘贴上述代码并保存,然后就不错运行现时的代码。简略关闭VBA裁剪器,然后按下Alt + F8,采选ExtractTextBoxContentAndSaveInCurrentDirectory宏并运行。

在上述代码中,srcDoc.Path取得了现时举止文档的旅途,然后用&勾通\ExtractedTextBoxContent.docx构建了新文档的完竣保存旅途。这么,不论你的Word文档位于哪个目次,索要的文本王人将被保存到与之疏导的目次下。

五、学后反想

三种款式均不错已矣对一个文献中所有文本框本色的索要。第一种是手动,才智不算多,若是在粘贴时采选保存原面貌,不错很好地保证文本框中笔墨的面貌。它的独一污点时,弗成对多个文献进行操作。

萝莉telegram

Python和VBA王人是编程的款式,已矣经由有些复杂清野 裸舞,关联词均不错在以上代码的基础上经过修改后不错对多个文献进行批量的操作,省去了一个个洞开文献、复制本色的经由。其污点是很难保证索要出的本色面貌不发生窜改。

本站仅提供存储干事,所有本色均由用户发布,如发现存害或侵权本色,请点击举报。