python操作word文档表格

2024-08-21 23:54:21
推荐回答(2个)
回答1:

>>> app=my.Office.Word.GetInstance()
>>> doc=app.Documents[0]
>>闷核> print doc.Name
VBA工具集.doc
>>> doc.Tables.Count
2
>>> table=doc.Tables[1]
>>> table.Cell(1,1).Select()
>>> app.Selection.MoveEnd(Unit=12, Count=4)
4
>>> app.Selection.Cells.Shading.Texture 者罩肆= -10
>首轿>>

1.my.Office.Word.GetInstance()用win32com得到Word的Application对象的实例

2.我所使用的样本word文件中包含两个Table第二个Table是想要修改的

3.table.Cell(1,1).Select()用于选中这个样表的第一个单元格

4.app.Selection.MoveEnd用于获得向右多选取4个单元格,wdCell=12,用于指示按单元格移动

5.app.Selection.Cells.Shading.Texture = -10用于执行阴影底纹的设置工作,wdTextureDiagonalUp=-10是一个代表斜向右上的底纹样式的常数

回答2:

office 2007中不能直接打开VB编辑器,请按Alt + F11打开。
import win32com.client # 导入脚本模块 WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块
WordApp.Visible = True
# 显示Word应用程序
1、 新建Word文档
doc = WordApp.Documents.Add()
# 新建空文件
doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定团历文档
doc.SaveAs(r"d:\2011专业考试计划.doc")
# 文档保存
doc.Close(-1)
# 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存
2、 页面设置返或清
doc.PageSetup.PaperSize = 7
# 纸张大小, A3=6, A4=7
doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消
doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小
doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1 doc.PageSetup.TopMargin = 3*28.35
# 页边距上=3cm,1cm=28.35pt
doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm
doc.PageSetup.TextColumns.SetCount(2) # 设置页面分栏=2
3、 格式设置
sel = WordApp.Selection
# 获取Selection对象 sel.InsertBreak(8)
# 插入分栏符=8, 分页符=7
sel.Font.Name = "黑体" # 字体 sel.Font.Size = 24 # 字大 sel.Font.Bold = True # 粗体 sel.Font.Italic = True # 斜体 sel.Font.Underline = True
# 下划线
sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅
sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐 sel.TypeText("XXXX") # 插漏前入文字 sel.TypeParagraph()
# 插入空行
注:ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效