import win32comfrom win32com.client import Dispatch, constants w = win32com.client.Dispatch('Word.Application') # 或者使用下面的方法,使用启动独立的进程:# w = win32com.client.DispatchEx('Word.Application') # 后台运行,不显示,不警告w.Visible = 0 w.DisplayAlerts = 0 # 打开新的文件doc = w.Documents.Open( FileName = filenamein ) # worddoc = w.Documents.Add() # 建立新的文档 # 插入文字myRange = doc.Range(0,0) myRange.InsertBefore('Hello from Python!') # 使用样式wordSel = myRange.Select() wordSel.Style = constants.wdStyleHeading1# 正文文字替换w.Selection.Find.ClearFormatting() w.Selection.Find.Replacement.ClearFormatting() w.Selection.Find.Execute(OldStr, False, False, False, False, False, True, 1, True, NewStr, 2) # 页眉文字替换w.ActiveDocument.Sections[0].Headers[0].Range.Find.ClearFormatting() w.ActiveDocument.Sections[0].Headers[0].Range.Find.Replacement.ClearFormatting() w.ActiveDocument.Sections[0].Headers[0].Range.Find.Execute(OldStr, False, False, False, False, False, True, 1, False, NewStr, 2) # 表格操做doc.Tables[0].Rows[0].Cells[0].Range.Text ='123123' worddoc.Tables[0].Rows.Add() # 增长一行 # 转换为htmlwc = win32com.client.constants w.ActiveDocument.WebOptions.RelyOnCSS = 1 w.ActiveDocument.WebOptions.OptimizeForBrowser = 1 w.ActiveDocument.WebOptions.BrowserLevel = 0 # constants.wdBrowserLevelV4 w.ActiveDocument.WebOptions.OrganizeInFolder = 0 w.ActiveDocument.WebOptions.UseLongFileNames = 1 w.ActiveDocument.WebOptions.RelyOnVML = 0 w.ActiveDocument.WebOptions.AllowPNG = 1 w.ActiveDocument.SaveAs( FileName = filenameout, FileFormat = wc.wdFormatHTML ) # 打印doc.PrintOut() # 关闭# doc.Close()w.Documents.Close(wc.wdDoNotSaveChanges) w.Quit()
**************************************************
python ACCESS编程
http://xinyu.blogbus.com/s46076/
由于使用的第三方组件用到python,因此须要了解python的数据库操做。html
后来找到了方法,写了以下的sample:python
import win32com.client数据库
def db1():编程
print "Start db1." try: conn = win32com.client.Dispatch(r'ADODB.Connection') conn.Open('Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=ECI-SERVICE;Data Source=10.240.4.135') rs = win32com.client.Dispatch(r'ADODB.Recordset') rs.Cursorlocation=3 rs.Open('select * from EBP_B_AS_ALERT',conn) rs.MoveFirst()windows
for x in range(rs.RecordCount): if rs.EOF: print "End of records" break else: print rs.Fields.Item(1).Value rs.MoveNext() rs.Close() conn.Close() except: print "Except, now."api
用的是win32com 的extension。Python2.2.3 自身不带win32 extension,须要安装win32all-162(win extensions).exe。ide
代码比较简单,惋惜没有找到api,因此提供哪些方法只能在网上找。测试