精华内容
下载资源
问答
  • office 2007中不能直接打开VB编辑器,请按Alt + F11Alt + ...import win32com.client # 导入脚本模块WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块WordApp.Visible = True # 显示Wo...

    office 2007中不能直接打开VB编辑器,请按Alt + F11Alt + F11Alt + F11Alt + F11打开。

    import win32com.client # 导入脚本模块

    WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块

    WordApp.Visible = True # 显示Word应用程序

    1、 新建Word文档doc=WordApp.Documents.Add() # 新建空文件

    doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定文档

    doc.SaveAs(r"d:\2011专业考试计划.doc") # 文档保存

    doc.Close(-1) # 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存

    2、 页面设置doc.PageSetup.PaperSize = 7 # 纸张大小, A3=6, A4=7

    doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消

    doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小

    doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1

    doc.PageSetup.TopMargin = 3*28.35 # 页边距上=3cm,1cm=28.35pt

    doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm

    doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm

    doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm

    doc.PageSetup.TextColumns.SetCount(2) # 设置页面

    3、 格式设置sel = WordApp.Selection # 获取Selection对象

    sel.InsertBreak(8) # 插入分栏符=8, 分页符=7

    sel.Font.Name = "黑体" # 字体

    sel.Font.Size = 24 # 字大

    sel.Font.Bold = True # 粗体

    sel.Font.Italic = True # 斜体

    sel.Font.Underline = True # 下划线

    sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅

    sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐

    sel.TypeText("XXXX") # 插入文字

    sel.TypeParagraph() # 插入空行

    注注注注::::ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效!

    4、 插入图片pic = sel.InlineShapes.AddPicture(jpgPathName) # 插入图片,缺省嵌入型

    pic.WrapFormat.Type = 0 # 修改文字环绕方式:0=四周型,1=紧密型,3=文字上方,5=文字下方

    pic.Borders.OutsideLineStyle = 1 # 设置图片4边线,1=实线

    pic.Borders.OutsideLineWidth = 8 # 设置边线宽度,对应对话框中数值依次2,4,6,8,12,18,24,36,48

    pic.Borders(-1).LineStyle = 1 # -1=上边线,-2=左边线,-3下边线,-4=右边线

    pic.Borders(-1).LineWidth = 8 # 依次2,4,6,8,12,18,24,36,48

    注注注注::::InlineShapes方式插入图片类似于插入字符(嵌入式),Shapes插入图片缺省是浮动的。

    5、 插入表格tab=doc.Tables.Add(sel.Range, 16, 2) # 增加一个16行2列的表格

    tab.Style = "网格型" # 显示表格边框

    tab.Columns(1).SetWidth(5*28.35, 0) # 调整第1列宽度,1cm=28.35pt

    tab.Columns(2).SetWidth(9*28.35, 0) # 调整第2列宽度

    tab.Rows.Alignment = 1 # 表格对齐,0=左对齐,1=居中,2=右对齐

    tab.CellCellCellCell(1,1).Range.Text = "xxx" # 填充内容,注意Excel中使用wSheet.Cells(i,j)

    sel.MoveDown(5, 16) # 向下移动2行,5=以行为单位

    注注注注::::插入n行表格之后必须使用MoveDown(5,n)移动到表格之后才能进行其它操作,否则报错!

    6、 使用样式for stl in doc.Styles:

    print stl.NameLocal # 显示文档中所有样式名

    展开全文
  • Python修改Word文档内容和插入图片

    千次阅读 2021-02-25 21:25:43
    /usr/bin/python # coding:utf-8 import docx def main(): filepath = 'test.docx' filepath1 = 'wtest.docx' newdocx = docx.Document(filepath) table = newdocx.tables for oTable in table: rows_num = ...

    代码如下

    #!/usr/bin/python
    # coding:utf-8
    import docx
    def main():
        filepath = 'test.docx'
        filepath1 = 'wtest.docx'
        newdocx = docx.Document(filepath)
        table = newdocx.tables
        for oTable in table:
            rows_num = len(oTable.rows)
            columns_num = len(oTable.columns)
            cell = oTable.cell(3, 0)
            # cell.add_paragraph("a")
            cell.text = ""
            cell.paragraphs[-1].runs[0].add_picture('t1.jpg')
            print(rows_num)
            print(columns_num)
            newdocx.save(filepath1)
    if __name__ == '__main__':
        main()
    
    展开全文
  • 使用 python 修改 word 文档说明:这个需求是老师想要一个自动识别 word 文档中指定位置的分数,并填入相应表格。使用库 python-docx 的官方文档地址是:python-docx一、安装 python-docx 库文件在 cmd 命令行中使用...

    使用 python 修改 word 文档

    说明:这个需求是老师想要一个自动识别 word 文档中指定位置的分数,并填入相应表格。

    使用库 python-docx 的官方文档地址是:python-docx

    一、安装 python-docx 库文件

    在 cmd 命令行中使用以下命令安装库文件

    pip install python-docx

    安装效果如下图:

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxNTE2NjMz,size_16,color_FFFFFF,t_70

    二、引入库,创建&打开&保存 docx 文档

    from docx import Document

    这个命令引入了我们上面安装的库文件,这时我们便可以使用相应的命令进行创建修改文档了。

    #新建空文档

    document = Document()

    #打开已经存在的文档

    document = Document(“d:\temp/python/test.docx”)

    #注意上方语句的斜线方向

    #打开文件可以指定路径和文件名,保存的时候亦同,如不指定默认当前工作目录

    document.save(“当前目录保存.docx”)

    document.save(“d:\python/指定目录保存.docx”)

    这个命令变创建了一个 Document 对象,并且可以往里面写入数据了。

    需要说明的是创建的文件目录在当前 python 的 “工作目录” 下面。

    import os

    #获取当前目录

    os.getcwd()

    三、修改文档

    1、添加标题

    #添加内容为 “This is a title" 大纲级别为 2 的标题

    document.add_heading(“This is a title”,2)

    #下面这种写法和上面的写法效果相同

    document.add_heading(“This is a title”,level=2)

    当大纲级别为 0 的时候,便是居中的文档题目,默认为 1 。

    官方文档里面有一个这样的写法:

    document.add_paragraph(‘Intense quote’, style=‘Intense Quote’)

    #>但是我没有实验成功。提示 style 参数不存在,我换成中文 “样式” 依然不可以。

    2、添加段落

    document.add_heading(“这是标题”)

    document.add_paragraph(“听说这样直接加入的段落同时会加入结束符”)

    document.add_paragraph(“如果这一行与上一行换行了,就说明这是两个段落”)

    下图是效果图,有的字体看着好像加粗了应该是字体格式问题,还有 word 兼容问题。查看了一下字体,使用的是 MS Gothic 格式的字体。

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxNTE2NjMz,size_16,color_FFFFFF,t_70

    ==3、我们可以发现上面的方法,每写一句话都会产生换行,==也就是开始新段落。那么有没有方法接着上一次的写呢?有的,看如下代码。

    p = document.add_paragraph(“这是一个新段落的开始。”)

    p.add_run(“这句话应该是接着上面的写的。”)

    p.add_run(“这句话当然也是,而且是粗体”).bold = True

    p.add_run(“然后再来个斜体。”).italic = True

    20191123201650645.png

    4、添加图片

    官方示例代码如下:

    document.add_picture(‘monty-truth.png’, width=Inches(1.25))

    #实践过程中发现 Inches 无法识别,图片添加失败

    document.add_picture(‘monty-truth.png’)

    #如上,去掉宽度设定后可以添加成功,但是无法控制其大小。

    5、添加表格

    官方代码示例如下:

    records = (

    (3, ‘101’, ‘Spam’),

    (7, ‘422’, ‘Eggs’),

    (4, ‘631’, ‘Spam, spam, eggs, and spam’)

    )

    table = document.add_table(rows=1, cols=3)

    hdr_cells = table.rows[0].cells

    hdr_cells[0].text = ‘Qty’

    hdr_cells[1].text = ‘Id’

    hdr_cells[2].text = ‘Desc’

    for qty, id, desc in records:

    row_cells = table.add_row().cells

    row_cells[0].text = str(qty)

    row_cells[1].text = id

    row_cells[2].text = desc

    #添加分页符

    document.add_page_break()

    这个例子我没有做过多的测试,效果如下图,表格正常,只是没有线。

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxNTE2NjMz,size_16,color_FFFFFF,t_70

    三、需求实现阶段

    目前只有思路,具体代码待进一步测试实现。整体规划如下:

    1、将所有的学生作业放到一个文件夹下,使用代码获取当前路径,及当前路径下所有文件名。

    2、将获取的目录下文件名及其过程写入日志保存,以备查验。

    3、使用文件名按顺序读取上一步获取的文档,使用正则匹配提取姓名和学号,写入表格相应位置。

    4、使用文档模块循环读取上一步文档内容,正则匹配到指定位置获取分数值,写入表格相应位置。

    5、在3和4步骤之间循环执行,直到所有文件读写完毕,程序退出,日志保存。

    **注:**日志需要保存第 1 步获取的所有文件名,及预提取的姓名和学号。和第 3、4 步骤写入表格位置的数据。

    展开全文
  • 更多追问追答追问你好,我是用了这个库,下面是代码res是查询到的要写入文档的内容,这个内容包括普通段落和表格,下面的代码运行完之后,new.docx中只有最后一次的内容,并没有循环写入(for循环执行了),请问这...

    更多追问追答

    追问

    你好,我是用了这个库,下面是代码res是查询到的要写入文档的内容,这个内容包括普通段落和表格,下面的代码运行完之后,new.docx中只有最后一次的内容,并没有循环写入(for循环执行了),请问这是什么问题,谢谢

    for k2v in k2v_all :

    res = data_handler.query_files(file_ids=file_id, download=1, request=req)

    with open("new.docx", 'ab') as fd:

    fd.write(res.content)

    追答

    因为你写放在了 for 循环里面,你的代码相当于:

    按行读取:

    清空 word,并将这一行写入 word。

    所以就只有最后一段了。

    应该是:with open("new.docx", "ab") as fd:

    for x in y:

    fd.write(x)

    追问

    with open("new.docx", "ab+") as fd:

    for k2v in k2v_all :

    res = data_handler.query_files(file_ids=file_id, download=1, request=req)

    fd.write(res.content)

    再问一下,这是我修改后的代码,执行完后,word文档就打不开了,显示 内容有问题,有无法读取的内容。res.content的内容应该是没问题的,如果不是追加,只是写文档,内容是可以加进去的

    展开全文
  • 一 docxtpldocxtpl 一个很强大的包,其主要通过对docx文档模板加载,从而对其进行修改。主要依赖两个包python-docx :读写doc文本jinja2:管理插入到模板中的标签因为模板标签主要来自jinja2,可以了解其语法:...
  • 前言全网找了一番,用python创建和更新word(.docx)文档,还是 python-docx 包比较好用。依赖Python 2.6, 2.7, 3.3, or 3.4lxml >= 2.3.2安装模块由于 python-docx 已经提交给 PyPI 仓库,所以可以使用 pip 安装,...
  • 应我家领导要求,开发一个word文档批处理脚本,涉及word文档、excel表格、文件存取、排序与索引、简单GUI等内容,前期针对各分项功能实现写了几篇小文章,现在将总体思路记录一下,作为这个系列的完结篇。...
  • 之前讲过很多基于Excel的数据及样式调整案例,今天分享一个Python操作Word的真实自动化需求实现过程:「使用Python批量修改Word样式」主要将涉及os模块综合应用glob模块综合应用docx模块读写Word文档及样式修改二、...
  • 工作中会遇到需要读取一个有几百页的word文档并从中整理出一些信息的需求,比如产品的API文档一般是word格式的。...安装pip install python-docx写docx文件示例代码:# coding:utf-8# 写word文档文件import sy...
  • 之前讲过很多基于Excel的数据及样式调整案例,今天分享一个Python操作Word的真实自动化需求实现过程:「使用Python批量修改Word样式」主要将涉及os模块综合应用glob模块综合应用docx模块读写Word文档及样式修改需求...
  • 两个简单的word文档, 各有一个表格:读取文档中的表格到列表(为演示只对单列表格操作):import docxdef 取表格(文件名):文件 = docx.Document(文件名)首个表 = 文件.tables[0]值 = []for 行 in 首个表.rows:for 格 in...
  • 介绍舍友从网上下载的word题库文档很乱,手动改了大半天才改了一点,想起python是...编写代码pip安装python-docx模块读取word文档内容(如果是以.doc后缀的文件需另存为.docx文件!)from docx import Document# 打...
  • 使用 python 操作 Word文档 调用 docx 库,操作Word模板,进行修改调整。 将 dict 内容填充到 Word 中 # -*- coding: utf-8 -*- """ Created on Sat Sep 26 15:01:43 2020 @author: dujidan """ from docx import ...
  • 展开全部>>> app=my.Office.Word.GetInstance()>>> doc=app.Documents[0]>>> print doc.NameVBA工具集.doc>>> doc.Tables.Count2>>> table=doc.Tables[1]>>> table.Cell(1,1).Select()>>> app.Selection.MoveEnd...
  • Python写入word文档

    千次阅读 2019-09-25 00:48:53
    file=docx.Document()#创建内存中的word文档对象 file.add_paragraph("窗前明月光")#写入若干段落 file.add_paragraph("疑是地上霜") file.add_paragraph("举头望明月") file.add_paragraph("低头思故乡") file.save...
  • Pythonword文档重排版

    2020-09-17 09:00:06
    Python处理word文档的相关操作~
  • 教你怎么使用Pythonword文档进行操作

    万次阅读 多人点赞 2019-09-18 21:56:16
    使用Pythonword文档进行操作 一、安装Python-docx Python-docx是专门针对于word文档的一个模块,只能读取docx 不能读取doc文件。说白了,python就相当于windows操作系统,QQ就是跑在windows操作系统上的软件,QQ...
  • document文档格式、线段、图片、页眉页脚等都不变# -*- coding: utf-8 -*-# @Time : 2019/5/6 11:46# @Author :"""# 利用python-docx替换文章中的内容pip install python-docx# 格式、线段、图片、页眉页脚等都不变#...
  • 使用Python通过win32 COM实现Word文档的写入与保存方法通过win32 COM接口实现软件的操作本质上来看跟直接操作软件一致,这跟我之前经常用的通过各种扩展的组件或者库实现各种文件的处理有较大的差异。如果有过...
  • 本篇文章小编给大家分享一下python处理document文档保留原样式代码示例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。document文档格式、线段、图片、页眉页脚等都不变,具体代码如下...
  • 1 '''2 #word模板套用2:套用模板3 '''45 #导入所需库6 from docx importDocument7 '''8 #另存word文档后格式丢失的问题要导入库设定word文档的初始格式9 from docx.shared import Pt10 from docx.oxml.ns import qn...
  • python批量更改word文档名 最近需要批量修改文档的名字,由于是从网站下载的文档,很多文档名字带有数字,需要给文档重新命名并需要去掉数字,觉得一个个修改word文档太麻烦,于是就参考了一下网上的资料自己写了...
  • 本文简单地介绍了如何使用python修改word文档中的内容。例子与代码word文档的内容是一封表扬信,内容见下图: 表扬信.png现在需要通过python对,”表扬信.docx”文档进行修改,需要修改的地方已在图中标记出。第一个...
  • python读写word文档

    2020-02-25 10:35:17
    首先安装两个包: 该包用于将.doc文件转置.docx,因为python只能处理.docx型文件 pip install piwin32 第二个包: pip install python-docx ...w = wc.Dispatch('Word.Application') doc=w.Documents.Ope...
  • Word中文本项的“明显”字体,或者更确切地说是“有效”字体是从样式层次结构计算出来的,这与CSS对HTML的工作方式非常相似。在样式层次结构中的最后一个级别覆盖了所有更高级别,直接在运行级别应用格式。因此,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,325
精华内容 8,930
关键字:

python修改word文档

python 订阅