吴裕雄 实战PYTHON编程(7)
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)的更多相关文章
- 吴裕雄 实战PYTHON编程(10)
import cv2 cv2.namedWindow("frame")cap = cv2.VideoCapture(0)while(cap.isOpened()): ret, im ...
- 吴裕雄 实战PYTHON编程(9)
import cv2 cv2.namedWindow("ShowImage1")cv2.namedWindow("ShowImage2")image1 = cv ...
- 吴裕雄 实战PYTHON编程(8)
import pandas as pd df = pd.DataFrame( {"林大明":[65,92,78,83,70], "陈聪明":[90,72,76, ...
- 吴裕雄 实战PYTHON编程(6)
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode ...
- 吴裕雄 实战PYTHON编程(5)
text = '中华'print(type(text))#<class 'str'>text1 = text.encode('gbk')print(type(text1))#<cla ...
- 吴裕雄 实战PYTHON编程(4)
import hashlib md5 = hashlib.md5()md5.update(b'Test String')print(md5.hexdigest()) import hashlib md ...
- 吴裕雄 实战python编程(3)
import requests from bs4 import BeautifulSoup url = 'http://www.baidu.com'html = requests.get(url)sp ...
- 吴裕雄 实战python编程(2)
from urllib.parse import urlparse url = 'http://www.pm25x.com/city/beijing.htm'o = urlparse(url)prin ...
- 吴裕雄 实战python编程(1)
import sqlite3 conn = sqlite3.connect('E:\\test.sqlite') # 建立数据库联接cursor = conn.cursor() # 建立 cursor ...
随机推荐
- GitHub + circleCI 自动构建/自动部署 应用
GitHub + circleCI 自动构建/自动部署, 这里略过了单元测试,以部署 laravel 应用为例子 比起 gitlab + ansible + genkins 操作起来节省了很多硬件资源 ...
- 【Spring-AOP-学习笔记-5】@AfterReturning增强处理简单示例
项目结构 业务代码 @Component("hello") public class HelloImpl implements Hello { // 定义一个简单方法,模拟 ...
- 【Spring学习笔记-MVC-1.0】Spring MVC架构介绍
作者:ssslinppp 1. 核心架构图 2. 核心架构的具体流程步骤 3. 具体的核心开发步骤 4. 常用注解 5. <mvc:annotation-driven>配置 6 ...
- Spring IOC - 控制反转(依赖注入) - 创建对象的方式
a.通过类的无参构造方法创建对象 在入门案例中就是这种方式.当用最普通的方式配饰一个<bean>时,默认就是采用类的 无参构造创建对象.在Spring容器初始化时,通过<bean&g ...
- 在HTML标签的事件后面直接写JS代码
<input type="button" onclick="document.getElementdByTagName('div')[0].innrtHTML='S ...
- [C#]泛型约束在窗体定义上的使用
查相关资料查的一团乱,自己瞎写了几次以后误打误撞成功了: namespace Test1 { public partial class Form1<T> : Form { // ... F ...
- [转]连连看游戏 C#
源代码下载地址 http://files.cnblogs.com/files/z5337/%E8%BF%9E%E8%BF%9E%E7%9C%8B%E6%B8%B8%E6%88%8F.rar 代码由 & ...
- 小甲鱼-013元组tuple:上了枷锁的列表
1.创建和访问一个元组 1.1创建元组 元组的标志性符号是 , tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) #定义单个元素的元组,要加 , tuple2 = (1 ...
- Notepad++ 删除空白行的方法(转)
Notepad++ 是我特别喜欢的一款编程工具.在安装后就可以轻松使用了.Notepad++ 上提供了很多方便的插件以实现更多的扩展,当然自身已经比较强大好用了.如果你遇到文本中间有大量的空白行的话, ...
- 显示锁(一)Lock显示锁的优点
转载自 Java 并发:Lock 框架详解 摘要: 我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchroni ...