你的位置:文爱 胸 小熊饼干 > av迅雷 >

ai换脸 若何批量索求word文献中的表格

发布日期:2024-09-08 16:59    点击次数:121

ai换脸 若何批量索求word文献中的表格

表格在word文档中常见的文档元素之一。操作word文献时未必需要索求文献中多个表格的本色到一个新的文献,以致未必还会要索求题注信息。

今天,给群众共享两种批量索求文档中表格的两种门径,分离是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中,不错通过【视图】 > 【宏】> 【搜检宏】,接受这个宏ai换脸,然后点击【启动】即可。

二、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'  # 使用内置的表格状貌,这么会自动添加框线        # 复制表头        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文献ai换脸,而python则条款索求的文献名为example.docx,要是想批量索求多个文献中的表格则还需要添加for轮回来遍历扫数的word文献。

好啦今儿共享到这里,祝群众好运!心爱的同鞋请转发、点赞!扫描下方二维码,加入微信一样群~ 本站仅提供存储就业,扫数本色均由用户发布,如发现存害或侵权本色,请点击举报。