文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>win32com初步word应用

win32com初步word应用

时间:2010-08-18  来源:stlaw

pywin32 可以在http://sourceforge.net/projects/pywin32/files/ 下载;
搜到1个替换图片的方法
http://www.eggheadcafe.com/software/aspnet/35650384/replace-picture-in-content-control.aspx
里面的ContentControls是不可用的,本地为office2003
下面是目前知道的一些记录,复杂的还不知如何用,
官网的VBA文档:
http://msdn.microsoft.com/en-us/library/aa272078%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
#http://msdn.microsoft.com/en-us/library/aa221389%28v=office.11%29.aspx
if w.ActiveDocument.Bookmarks.Exists('book1'):
    w.ActiveDocument.Bookmarks('book1').Select()
    w.Selection.InlineShapes.AddPicture('e:\\1.jpeg')   # 如果存在对应的bookmark,就替换成图片1.jpeg

# 关于InlineShapes
#http://msdn.microsoft.com/en-us/library/aa221990%28v=office.11%29.aspx
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')
=================================
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载