物联网app开发 如何批量提真金不怕火word文献中的表格
发布日期:2024-09-28 07:16 点击次数:133
表格在word文档中常见的文档元素之一。操作word文献时偶而需要提真金不怕火文献中多个表格的践诺到一个新的文献,致使偶而还会要提真金不怕火题注信息。
安队第2024079期双色球遗漏分析:(热码:遗漏0-3期,温码遗漏4-9期,冷码遗漏10期及以上)
今天,给群众共享两种批量提真金不怕火文档中表格的两种次序,分裂是VBA法和Python法两种。
一、VBA法提真金不怕火word中的表格1. 代码结束VBA(Visual Basic for Applications)操作Word文献时,不错实施包括创建、怒放、保存、修改文本和形貌等多种任务。今天,咱们使用VBA来批量提真金不怕火现时文献中的表格,在每个表格中间添加一个空行。结束代码如下:
Sub ExtractTablesAndPreviousRowToNewFile() Dim docSource As Document Dim docTarget As Document Dim tbl As Table Dim rng As Range Dim outputPath As String Dim fileName As String ' 斥地输出文献名和旅途 fileName = 'output.docx' outputPath = ActiveDocument.Path & '\' & fileName ' 现时文档斥地为源文档 Set docSource = ActiveDocument ' 创建一个新文档行为指标文档 Set docTarget = Documents.Add For Each tbl In docSource.Tables ' 复制表格 tbl.Range.Copy docTarget.Content.InsertParagraphAfter docTarget.Content.Paragraphs.Last.Range.Paste ' 在表格后添加一个空行 docTarget.Content.InsertParagraphAfter docTarget.Content.Paragraphs.Last.Range.InsertParagraphAfter Next tbl ' 删除指标文档中的第一个空段落 If docTarget.Paragraphs.Count > 0 Then docTarget.Paragraphs(1).Range.Delete End If ' 保存新文档到指定旅途 docTarget.SaveAs2 fileName:=outputPath, FileFormat:=wdFormatXMLDocument docTarget.Close MsgBox '表格过甚上方一溜践诺依然奏效提真金不怕火到 ' & outputPath, vbInformationEnd Sub2. 代码分析以上代码领先激活现时文档行为源文档,然后创建一个新文档output.docx用来摒弃提真金不怕火的表格和题注。它会遍历源文档中的通盘表格,关于每个表格,尝试复制表格自己到指标文档中。
每个表格背面,还会插入一个空行以保捏文献中多个表格间明显的视觉分隔。
软件开发3. 使用次序领先,在Word中怒放你想提真金不怕火表格的文档,然后按下 Alt + F11 怒放VBA裁剪器。在【时势】窗格中,聘任你的文档,然后插入一个新的模块(右键点击你的文档称号,聘任【插入】 > 【模块】)。将以上VBA代码复制并粘贴到新模块中。关闭VBA裁剪器,然后脱手宏(在Word中,不错通过【视图】 > 【宏】> 【张望宏】,聘任这个宏,然后点击【脱手】即可。
二、Python法Python在office办公自动化方面有颠倒平庸的用途,它有特意的库来贬责office中的各个组件,而且这些皆是开源免费使用的。操作word文献就要用到python-docx这个库,在编写要领之前要装置新版的Python要领,然后在cmd底下用pip install python-docx来装置这个库,也不错在thonny这个轻量版的集成开发环境中装置python-docx用于操作word文献。
1.代码结束咱们领先从docx中导入Document模块,然后读取指定的word文献,提真金不怕火表格过甚践诺到一个新的文献当中并保存。结束代码如下:
from docx import Documentimport osdef extract_tables(doc_path, output_path): # 加载原始文档 doc = Document(doc_path) new_doc = Document() # 提真金不怕火表格并添加到新文档 for i, table in enumerate(doc.tables): t = new_doc.add_table(rows=1, cols=len(table.columns)) t.style = 'Table Grid' # 使用内置的表格样式,物联网app开发这么会自动添加框线 # 复制表头 for j, cell in enumerate(table.rows[0].cells): t.cell(0, j).text = cell.text # 复制其他行 for row in table.rows[1:]: new_row = t.add_row() for j, cell in enumerate(row.cells): new_row.cells[j].text = cell.text # 除了终末一个表格外,在每个表格后添加一个空行(空段落) if i < len(doc.tables) - 1: new_doc.add_paragraph() # 保存新文档 new_doc.save(output_path)# 使用示例extract_tables('example.docx', 'output.docx')2. 代码分析
以上代码把example.docx文献中的通盘表格提真金不怕火到了output.docx文献中,同期使用了表格的内置样式,给更生成的表格自动添加框线,基本结束表格文本践诺的提真金不怕火,然则表格中的字体感情、大小和边框样式均无法提真金不怕火。同期这里也莫得提真金不怕火题注,这时咱们需要对代码进一步修改,以使其不错提真金不怕火表格上方的题注。
本代码把表格上方居中的笔墨默意志别为表格的题注,提真金不怕火表格践诺时会一并提真金不怕火出来。
from docx import Documentfrom docx.enum.text import WD_ALIGN_PARAGRAPHimport osdef extract_tables_with_titles(doc_path, output_path): # 加载原始文档 doc = Document(doc_path) new_doc = Document() # 提真金不怕火表格并添加到新文档 for i, table in enumerate(doc.tables): # 尝试定位并复制表格上方的居中笔墨 # 查找表格前的段落 para = table._element.getprevious() if para is not None and para.tag.endswith('p'): # 搜检该段落的形貌是否为居中 p = para.getparent() para_obj = [p for p in doc.paragraphs if p._element == para][0] if para_obj.alignment == WD_ALIGN_PARAGRAPH.CENTER: # 添加居中的段落到新文档 new_para = new_doc.add_paragraph(para_obj.text) new_para.alignment = WD_ALIGN_PARAGRAPH.CENTER # 添加表格 t = new_doc.add_table(rows=1, cols=len(table.columns)) t.style = 'Table Grid' # 使用内置的表格样式,这么会自动添加框线 # 复制表头 for j, cell in enumerate(table.rows[0].cells): t.cell(0, j).text = cell.text # 复制其他行 for row in table.rows[1:]: new_row = t.add_row() for j, cell in enumerate(row.cells): new_row.cells[j].text = cell.text # 除了终末一个表格外,在每个表格后添加一个空行(空段落) if i < len(doc.tables) - 1: new_doc.add_paragraph() # 保存新文档 new_doc.save(output_path)# 使用示例extract_tables_with_titles('example.docx', 'output.docx')以上代码在原有代码基础上加多了题注践诺的提真金不怕火,通过调用extract_tables_with_titles这个函数,批量把example.docx文献中的表格和题录提真金不怕火出来,并放到了output.docx当中,况且每个表格之间会有一个空行。
三、演示视频
本东说念主录制了联系视频,供群众参考使用。
图片
四、学后反想专揽VBA和Python均不错结束表格践诺提真金不怕火的功能,然则关于笔墨和表格的样式无法完满提真金不怕火。后期会进一步探索如何把表格践诺和样式完满拷贝出来,然则由于触及字体等荒芜形貌,提真金不怕火样式会有一定的难度。
上头两种次序的上风在于不错批量、高效地提真金不怕火表格践诺,然则无法提真金不怕火样式,因此在提真金不怕火复杂表格时可能会报错。
以上代码默许是把表格批量提真金不怕火到现时目次,VBA代码应用的是现时的word文献,而python则条目提真金不怕火的文献名为example.docx物联网app开发,要是想批量提真金不怕火多个文献中的表格则还需要添加for轮回来遍历通盘的word文献。
好啦今儿共享到这里,祝群众好运!可爱的同鞋请转发、点赞!扫描下方二维码,加入微信磋商群~ 本站仅提供存储处事,通盘践诺均由用户发布,如发现存害或侵权践诺,请点击举报。