pywin32 可以在 下载;
搜到1个替换图片的方法
里面的ContentControls是不可用的,本地为office2003
下面是目前知道的一些记录,复杂的还不知如何用,
官网的VBA文档:
%28v=office.11%29.aspx
===============================
import win32com
from win32com import client
w=win32com.client.Dispatch('Word.Application')
w.Visible=1
#doc = w.Documents.Open('e:\\1.doc')
doc = w.Documents.Add()
r=doc.Range() # 用此可以清空文档中所有内容,Range(x,y)其中x,y为段落或者字符?尚不能确定
r.Text='all clear!'
objsel = w.Selection
objsel.EndKey() #为当前光标所在行的最后,并非文档最后
objsel.TypeText('insert first pic')
objsel.TypeParagraph() # 插入回车
objsel.InsertBreak() # 插入页
objshape = doc.Shapes
p1 = objshape.AddPicture('e:\\1.jpeg') #通过这种doc.shapes的方式,图片插入的位置在文档开头
objsel.TypeParagraph()
dc=w.ActiveDocument.Content #取得当前活动文档的内容句柄
dc.Font.Size=15 # 设置文档的文字大小(影响全文的大小)
newpl = objsel.InlineShapes.AddPicture('e:\\1.jpeg') #而这种通过selection的插入图片方式,插入的位置是在光标位置;
objsel.TypeParagraph()
objsel.TypeText('insert second pic')
# 关于bookmarks
#
if w.ActiveDocument.Bookmarks.Exists('book1'):
w.ActiveDocument.Bookmarks('book1').Select()
w.Selection.InlineShapes.AddPicture('e:\\1.jpeg') # 如果存在对应的bookmark,就替换成图片1.jpeg
# 关于InlineShapes
#
w.ActiveDocument.InlineShapes.Count #得到文中所有图片
#w.ActiveDocument.InlineShapes[0].Delete()
w.ActiveDocument.InlineShapes[0].Select()
w.Selection.InlineShapes.AddPicture('e:\\1.jpeg') #按序号替换图片
doc.SaveAs('e:\\1.doc')
=================================
阅读(4020) | 评论(0) | 转发(0) |