import os

from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
doc = word.Documents.Add()
range1 = doc.Range(0,0) #文件起始处
range1.InsertAfter("这是测试第一行\n这是测试第二行\n")
range1.InsertAfter("这是测试第三行\n这是测试第四行\n")
range1.InsertBefore("第一次插入到文件最前方\n")
range1.InsertBefore("再次插入到文件最前方\n")
# cpath = os.path.dirname(__file__)
doc.SaveAs("F:\\pythonBase\\pythonex\\test1.docx")
doc.Close()
word.Quit()

import os

from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 0
word.DisplayAlerts = 0
# cpath=os.path.dirname(__file__)
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\test1.docx")
print(doc.Content)
doc.Close()
word.Quit()

import os

from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 0
word.DisplayAlerts = 0
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\test1.docx")
paragraphs = doc.Paragraphs
for p in paragraphs:
text = p.Range.Text.strip()
print(text)
doc.Close()
word.Quit()

import os

from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 0
word.DisplayAlerts = 0
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\test1.docx")
paragraphs = doc.Paragraphs
print("第一段:" + paragraphs(1).Range.Text.strip())
print("第三段:" + paragraphs(3).Range.Text.strip())
doc.Close()
word.Quit()

import os
import time

from win32com import client
from win32com.client import constants

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\test1.docx")
paragraphs = doc.Paragraphs
range1 = paragraphs(1).Range #第1段
range1.Style = constants.wdStyleHeading1
range1.Style.Font.Name = "标楷体"
range1.Style.Font.Color = 0xFF0000 #蓝色
range1.Style.Font.Bold = 1 #Italic, Underline, Shadow, Outline

range2 = paragraphs(2).Range #第2段
range2.Style = constants.wdStyleHeading3
range2.ParagraphFormat.Alignment = constants.wdAlignParagraphRight

range3 = paragraphs(3).Range #第3段
range3.Style.Font.Size = "10"
doc.Close()
word.Quit()
time.sleep(3)

import os
from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\08\\clipgraph.docx")
data = [ ["型号", "尺寸", "颜色", "价格"], ["A8", "5.0英寸", "白色", "8000"],["A10", "5.5 英寸", "金黄", "22000"] ]
paragraphs = doc.Paragraphs #读取所有段落
range1 = paragraphs(4).Range #取第4段的起止范围
table = doc.Tables.Add(range1, 3, 4) #在第4段之前插入一个3行4列表格
for i in range(1,table.Rows.Count+1): #i取值分别为1~3。切记rang()函数的特性
print(i)
# for j in range(1,table.Columns.Count+1): #j取值分别为1~4
# table.Cell(i,j).Range.Text = data[i-1][j-1] #第一次会把data[0][0],即"型号",插入Cell(1,1)
#table.Cell(2,3).Range.Font.Color = 0x0000FF #设置第2行第3列单元格的字体颜色
#doc.Close()
#word.Quit()

import os
from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
doc = word.Documents.Open("F:\\pythonBase\\pythonex\\clipgraph.docx")
paragraphs = doc.Paragraphs
range1 = paragraphs(4).Range
range1.InlineShapes.AddPicture(cpath + "F:\\pythonBase\\pythonex\\ch08\\media\\cell.jpg", False, True)
#doc.Close()
#word.Quit()

import os
from win32com import client as client
from win32com.client import constants
word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
cpath=os.path.dirname(__file__)
doc = word.Documents.Open(cpath + "\\media\\clipgraph.docx")
word.Selection.Find.ClearFormatting()
word.Selection.Find.Replacement.ClearFormatting()
word.Selection.Find.Execute("方法",False,False,False,False,False,True,constants.wdFindContinue,False,"method",constants.wdReplaceAll)
#doc.Close()
#word.Quit()

def getrandom2(n1, n2): #取得2个不重复的随机值
while True:
r1 = random.randint(n1, n2)
r2 = random.randint(n1, n2)
if r1 != r2: #如果两数不相等就跳出,相等则继续取
break
return r1, r2

import os, random
from win32com import client
from win32com.client import constants
word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0 #不显示警告
doc = word.Documents.Add()
range1 = doc.Range(0,0) #文件开头
range1.Style.Font.Size = "16" #字体大小
title = "明星小学营养午餐菜单"
year1 = "2017年8月"
week = ["一","二","三","四","五"]
teacher = ["欧阳怡","翟定国","陈碧山","陈丽娟","郑怡衡","林邓超","朱健政","刘伟明","刘维基","梁银燕"]
rice = ["糙米饭","白米饭","拌面"]
vegetable = ["毛豆白菜","豆芽菜","蛋香时瓜","高丽菜","佛手瓜","酸菜豆包","冬瓜","萝卜海带结","茄汁洋芋","家常豆腐","鲜菇花椰","豆皮三丝","伍彩雪莲","干香根丝","茄汁豆腐","香炒花椰","芹香粉丝","红萝卜","洋葱","青椒"]
meat = ["糖醋排骨","美味大鸡腿","椒盐鱼条","香菇肉燥","宫保鸡丁","香卤腿排","梅干绞肉","香酥鱼丁","条瓜烧鸡","时瓜肉丝","海结卤肉","葱烧鸡","柳叶鱼","咖哩绞肉","笋香鸡","沙茶猪柳","五香棒腿","三杯鸡丁","海结猪柳","茄汁鸡丁"]
soup = ["蛋香木须汤","味噌海芽汤","绿豆汤","榨菜肉丝汤","姜丝海芽汤","枸杞爱玉汤","冬菜蛋花汤","冬瓜西米露","紫菜蛋花汤","蛋香木须汤"]
date1= 1 #开始日期为1日
weekday = 2 #开始日期为星期六

while weekday < 6 and date1 < 31: #周一到周五及30日前才制作菜单
range1.InsertAfter(title + "\n")
range1.InsertAfter("日期:" + year1 + str(date1) + "日 (星期" + week[weekday-1] + ")\n")
range1.InsertAfter("制作者:" + teacher[random.randint(0,9)] + "老师\n") #10位老师中随机选一位
range1.InsertAfter("今日菜单:\n")
range1.InsertAfter("一、" + rice[random.randint(0,2)] + "\n") #取1个随机数作为主食列表下标
rand1, rand2 = getrandom2(0,19) #取得两个随机数,作为菜品列表下标
range1.InsertAfter("二、" + vegetable[rand1] + "\n")
range1.InsertAfter("三、" + vegetable[rand2] + "\n")
rand1, rand2 = getrandom2(0,19) #重取两个随机数,作为肉品列表下标
range1.InsertAfter("四、" + meat[rand1] + "\n")
range1.InsertAfter("五、" + meat[rand2] + "\n")
range1.InsertAfter("六、" + soup[random.randint(0,9)] + "\n") #取一个随机数,作为汤品列表下标
range1.Collapse(constants.wdCollapseEnd) #移到range尾
range1.InsertBreak(constants.wdSectionBreakNextPage) #换页
weekday += 1 #星期加1
date1 += 1 #日期加1
if weekday == 6: #如果是星期六
weekday = 1 #设为星期一
date1 += 2 #日期加2(星期六及星期日)

cpath=os.path.dirname(__file__)
doc.SaveAs(cpath + "\\media\\food.docx") #获取文件保存路径并把文件保存为food.docx
#doc.Close()
#word.Quit()

import os
from win32com import client
from win32com.client import constants
word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 0
word.DisplayAlerts = 0
runpath = os.path.dirname(__file__) + "\\replace" #获取replace文件夹的路径
tree = os.walk(runpath) #取得目录树
print("所有 Word 文件:")
for dirname, subdir, files in tree:
allfiles = []
for file in files: # 取得所有.docx .doc文件,存入allfiles列表中
ext = file.split(".")[-1] #取得文件名后缀
if ext=="docx" or ext=="doc": #取得所有.docx .doc文件
allfiles.append(dirname + '\\' + file) #加入allfiles列表

if len(allfiles) > 0: #如果有符合条件的文件
for dfile in allfiles:
print(dfile)
doc = word.Documents.Open(dfile) #打开文件
word.Selection.Find.ClearFormatting()
word.Selection.Find.Replacement.ClearFormatting()
word.Selection.Find.Execute("方法",False,False,False,False,False,True,constants.wdFindContinue,False,"method",constants.wdReplaceAll)
doc.Close()
word.Quit()

吴裕雄 实战PYTHON编程(7)的更多相关文章

  1. 吴裕雄 实战PYTHON编程(10)

    import cv2 cv2.namedWindow("frame")cap = cv2.VideoCapture(0)while(cap.isOpened()): ret, im ...

  2. 吴裕雄 实战PYTHON编程(9)

    import cv2 cv2.namedWindow("ShowImage1")cv2.namedWindow("ShowImage2")image1 = cv ...

  3. 吴裕雄 实战PYTHON编程(8)

    import pandas as pd df = pd.DataFrame( {"林大明":[65,92,78,83,70], "陈聪明":[90,72,76, ...

  4. 吴裕雄 实战PYTHON编程(6)

    import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode ...

  5. 吴裕雄 实战PYTHON编程(5)

    text = '中华'print(type(text))#<class 'str'>text1 = text.encode('gbk')print(type(text1))#<cla ...

  6. 吴裕雄 实战PYTHON编程(4)

    import hashlib md5 = hashlib.md5()md5.update(b'Test String')print(md5.hexdigest()) import hashlib md ...

  7. 吴裕雄 实战python编程(3)

    import requests from bs4 import BeautifulSoup url = 'http://www.baidu.com'html = requests.get(url)sp ...

  8. 吴裕雄 实战python编程(2)

    from urllib.parse import urlparse url = 'http://www.pm25x.com/city/beijing.htm'o = urlparse(url)prin ...

  9. 吴裕雄 实战python编程(1)

    import sqlite3 conn = sqlite3.connect('E:\\test.sqlite') # 建立数据库联接cursor = conn.cursor() # 建立 cursor ...

随机推荐

  1. Microsoft Dynamics CRM 2011 如何导入组织

    一.首先备份数据库,还原数据库(前面SQL server 2008数据库的备份与还原(转)已经说明),这里就不说明了. 二.怎么删除组织? 先要在组织管理器里禁用组织,然后删除组织,再从数据库里删除. ...

  2. MySql数据库中敏感字段加密处理方案

    比如数据表中有一个手机号码字段是敏感字段,不想明文存储,可以是用MySQL的自带的函数处理 Table 12.17 Encryption Functions Name Description AES_ ...

  3. 【python】字符串函数

    1.String模块中的常量: string.digits:数字0~9 string.letters:所有字母(大小写) string.lowercase:所有小写字母 string.printabl ...

  4. js的自定义事件

    js中的事件是js的一大技术点,说白了就是操作dom树的唯一途径. 关于事件无非两种绑定方式: document.getElementById('xxx').onclick = function(){ ...

  5. php curl模拟登录(半转载)

    参考:http://our2848884.blog.163.com/blog/static/146854834201282039334/   php curl模拟登录 参考:http://blog.c ...

  6. linux 添加secondary ip

    linux下ip地址除了primary外,还有两种:1. ip alias(子接口)2. secondary ip(辅助ip) 都可在一块物理网卡上添加,alias由ifconfig添加,ifconf ...

  7. IP地址与子网掩码

    IP地址 众所周知,为了确保通信时能相互识别,在internet上的每台主机都必须有一个唯一的标识,即主机的IP地址.IP协议就是根据IP地址来实现信息传递的. IP地址由32位(4字节)二进制数组成 ...

  8. Android RIL概述

    前言 Android作为一个通用的移动平台,其首要的功能就是通话.短信以及上网等通信功能.那么,从系统的角度来看,Android究竟是怎么实现与网络的交互的了? 这篇文章里,就来看一看Android中 ...

  9. FDD vs TDD

    双工方式 FDD vs TDD  频分双工(FDD) 收发信各占用一个频率. 优点是收.发信号同时进行,时延小,技术成熟,缺点是设备成本高.  时分双工(TDD) 收发信使用同一个频率,但使用不同 ...

  10. Windows Event 事件

    事件对象就像一个开关:它只有两种状态(开和关). 开状态:我们称其为“有信号” 关状态:我们称其为“无信号” 可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是“无信号”就让该线程睡 ...