WPS二次开发Word格式.docx
《WPS二次开发Word格式.docx》由会员分享,可在线阅读,更多相关《WPS二次开发Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
如果WPS文字模块已经启动,可以使用GetObject获得这个进程:
SetwpsApp=GetObject(,"
WPS.Application"
)wpsApp.Visible=True
如果WPS尚未启动,可以使用CreateObject来产生一个新进程:
SetwpsApp=CreateObject("
如何退出WPS文字模块,
wpsApp.QuitSaveChanges:
=wpsSaveChanges,OriginalFormat:
=wpsWPSDocument,
RouteDocument:
=True
setwpsApp=Nothing
如何得到WPS中的工具栏数,
下面的例子显示应用程序所有工具栏的数目。
MsgBoxwpsApp.Application.CommandBars.Count
下面的例子使工具栏的第一项不可见
wpsApp.CommandBars.Item
(1).Visible=False
如何隐藏工具栏,
用CommandBars(Index)可以直接返回一个CommandBar对象。
使用下面的语句可以将第一个工具栏隐藏
Application.CommandBars.Item
(1).Visible=false如何使工具栏的按钮失效,
下面的例子切换第一条工具栏第一项按钮的有效性。
DimbarAsWPS.CommandBarControls
Setbar=wpsApp.CommandBars
(1).Controls
bar
(1).Enabled=Notbar
(1).Enabled
如何获得一个文档,
下例通过索引号获取第一个文档。
SetwpsDoc=wpsApp.Documents
(1)
如何打开wps文档,
在获得WPSapplication对象之后,就能对WPS进行控制,下面的例子中将以只读方式打开一个WPS文档,并激活此文档,如果文档不存在,将出示提示信息。
wpsApp.Documents.OpenFileName:
="
E:
\散文.wps"
ReadOnly:
=truewpsApp.activatedocument.Activate
如何关闭一个文档,
关闭第一篇文档。
wpsApp.Documents
(1).Close
如何保存一个文档,
如果活动文档在上次保存后进行了修改,下面的例子将保存活动文档。
IfActiveDocument.Saved=FalseThen
ActiveDocument.Save
EndIf
如何获得或修改当前用户名,
下面的例子设置应用程序的用户姓名(对应于菜单条"
工具"
->
"
选项"
用户"
姓名
):
wpsApp.UserName="
wpsuser"
下面的例子显示应用程序的用户名
MsgBoxwpsApp.UserName
如何在当前文档中添加一个表格,
下面的例子在文章开头添加一4行4列的表格,并在最后一个单元格里写上"
需要
写些什么"
字样
DimrngTblAsWPS.Range
DimwpsTableAsWPS.Table
Setr=ActiveDocument.Range(0,0)
SetwpsTable=ActiveDocument.Tables.Add(r,4,4)wpsTable.cell(4,4).Range.Text="
需要写些什么"
如何获取表格的行和列,
下面的例子将获得第一个表格的行和列
DimmytableAsWPS.Table
Setmytable=wpsApp.ActiveDocument.Tables
(1)MsgBox"
第一个表有"
&
mytable.Columns.Count&
"
列"
mytable.Rows.Count&
行"
如何选中一个表,
下面的例子将当前活动文档的第一个表选中。
ActiveDocument.Tables
(1).Select
如何修改一个表格的某个单元格的内容,
下面的例子对活动文档第一个表格的第一个单元格的内容进行显示及修改。
DimmytableAsWPS.Table
Setmytable=ActiveDocument.Tables
(1)
MsgBox"
原来(1,1)单元格的内容是:
mytable.cell(1,1).range.text'
缺省表示指
定单元格内容
mytable.cell(1,1).range.text="
金山文字"
修改后是:
mytable.cell(1,1).range.textmytable.cell(1,1).Range.Text="
WPSOffice"
MsgBox"
再次修改后是"
mytable.cell(1,1).Range.Text.如何设置一个表格的单元格的高度和宽度,
下面的例子将活动文档第一张表格的所有单元格的高度和宽度设置都设为200*0.1mm。
Setmytable=wpsApp.ActiveDocument.Tables
(1)iCols=mytable.Columns.Count
iRows=mytable.Rows.Count
Fori=1ToiRows
mytable.cell(i,1).Height=200
Next
Forj=1ToiCols
mytable.cell(1,j).Width=200
下面的例子将活动文档的第一个表格的所有单元格的宽度设为设为400*0.1mm。
num=mytable.Columns.Count
Forj=1Tonum
mytable.cell(1,j).Width=400
如何添加一个书签,
下面的例子将在当前文档中添加书签“我”,书签的内容为从第三个字符到第五个字符。
DimrAsWPS.Range
Setr=wpsApp.ActiveDocument.Range
r.SetRangeStart:
=3,End:
=5
wpsApp.ActiveDocument.Bookmarks.AddName:
我"
Range:
=r如何替换一个书签的内容,
下面的例子判断名为"
temp"
的书签是否存在于活动文档中,如果存在则替换该书签的内容。
IfActiveDocument.Bookmarks.Exists("
)=TrueThenActiveDocument.Bookmarks("
).range.text="
ReplaceText"
EndIf
如何获取和设置默认打印机,
本示例获取默认打印机的名字。
MsgBox“默认的打印机为:
”&
Application.ActivePrinter
本示例将LPT1端口的本地HPLaserJet6打印机设置为活动打印机。
Application.ActivePrinter="
HPLaserJet6localonLPT1:
如何打印一篇已打开的文档,
本示例以默认设置打印活动文档的所有页。
Application.ActiveDocument.PrintOut
本示例打印了活动文档中的1到3页。
Application.ActiveDocument.PrintOutFrom:
1"
To:
3"
本示例按照活动文档的75%大小进行打印。
Application.ActiveDocument.PrintOutPrintZoomPaperWidth:
=0.75*_(8.5*1440),PrintZoomPaperHeight:
=0.75*(11*1440)如何获取和设置某些文字的字体属性,
本示例获取和设置选中部分的字体名称和大小。
WithApplication.Selection.Range.FontMsgBox"
字体名称:
.Name&
vbCrLf&
字号:
.SizeMsgBox"
即将改变字体名称和字号!
.Name="
华文行楷"
.Size=20
改变后的内容如下:
.Name_
&
.Size
EndWith
如何获取和设置段落的格式,
本示例获取和设置活动文档首段左右各缩进1英寸。
WithApplication.ActiveDocument.Paragraphs
(1)Msgbox“左侧缩进:
.LeftIndent&
VbCrlf&
“右侧缩进:
.RightIndent
.LeftIndent=InchesToPoints
(1)
.RightIndent=InchesToPoints
(1)
本示例设置活动文档首段的行距为至少12磅。
WithApplication.ctiveDocument.Paragraphs
(1).LineSpacingRule=wpsLineSpaceAtLeast.LineSpacing=12
二次开发电子表格部分FAQ
如何启动WPS电子表格模块,
如果WPS已经启动,可以使用GetObject获得这个进程:
SetetApp=GetObject(,"
ET.Application"
)etApp.Visible=True
如果WPS电子表格模块尚未启动,可以使用CreateObject来产生一个新进程:
SetetApp=CreateObject("
如何退出电子表格,
调用Application的Quit方法可以退出电子表格模块,下面的例子先把所有打开的表格文档存盘,然后退出。
DimobjWBAsET.workbook
ForEachobjWBInetApp.Workbooks
objWB.Save
NextobjWB
etApp.Quit
SetetApp=Nothing
如何打开一个电子表格文档,
下面的示例以只读方式打开了一个电子表格文档:
Application.Workbooks.OpenFileName:
\Test.et"
=True下面的示例打开了一个有密码的电子表格文档:
password:
et"
如何关闭一个电子表格文档,
本示例关闭了第一个工作簿,并放弃所有对该工作簿的更改。
Application.Workbooks
(1).CloseSaveChanges:
=False
本示例关闭了所有工作簿,如果某个打开的工作簿有改变,将会询问是否保存所作的更改。
Application.Workbooks.Close
如何保存一个电子表格文档,
本示例演示保存所有已打开的工作簿,并退出金山表格。
ForEachwInApplication.Workbooks
w.Save
Nextw
Application.Quit
本示例演示了将当前工作簿另存到其它位置。
Application.ActiveWorkbook.SaveAs"
F:
\temp.et"
如何设置一个单元格的大小,
本例演示了设置(2,2)单元格的所在行的高度为20,所在列宽度为100。
WithApplication.ActiveWorkbook.ActiveSheet
.Range("
B2"
).RowHeight=20
).ColumnWidth=100
本例演示了设置当前工作表的所有行高度为20,所有列宽度为100。
.StandardHeight=20
.StandardWidth=100
如何获取单元格中的内容,
本示例获取了当前工作表中第(2,3)单元格中的内容。
MsgBoxApplication.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula如何设置单元格中的内容,
本示例设置了当前工作表中第(2,3)单元格中的内容。
Application.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula="
如何设置单元格中的公式,
本示例设置了当前工作表中第(2,3)单元格中的公式内容,该单元格将显示计算结果:
2.5。
=2+3/6"
本例演示了统计从(2,1)到(3,4)这一区域的所有单元格内数字的平均值。
Application.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula="
=AVERAGE
(B1,C4)"
如何设置单元格的边框,
本例演示了将(2,2)单元格的边框粗细设置为etMedium,线条样式设置为etContimuous,颜色设置为vbRed。
WithApplication.ActiveWorkbook.ActiveSheet.Range("
b2"
).Borders.Weight=etMedium
).Borders.LineStyle=etContinuous.Range("
).Borders.Color=vbRed
如何读取批注的内容
WPS的电子表格模块用Comment对象代表一个批注。
以下的示例,用于读取当前
表单的第三行第四列单元格(编号为“D3”)中的批注信息。
DimobjCMAsET.Comment
DimobjRangeAsET.Range
DimobjSheetAsET.Worksheet
SetobjSheet=ETapp.ActiveSheet
SetobjRange=objSheet.Cells.Item(3,4)
SetobjCM=objRange.Comment
NothingThenIfobjCMIs
未发现批注内容"
Else
MsgBoxobjCM.Text
如何添加批注,
WPS的电子表格模块用Comment对象代表一个批注,通过Range的AddComment
方法可以添加批注。
下面的示例为当前表单的第三行第四列单元格(编号为“D3”),添加一个批注。
DimobjCMAsET.Comments
SetobjRange=objSheet.Cells.Item(3,4)objRange.AddComment"
这是一个批注"
如何设置单元格内字体的属性,
通过Font对象可以设置和读取字体的各种属性。
下面的例子设置当前单元格的字体设为粗体45号字ETapp.ActiveCell.Font.Bold=True
ETapp.ActiveCell.Font.Size=45
下面的例子把第3行,第4列的单元格中的文字,修改为“字体设置试验”。
字体设
为黑体,斜体,红色并加下滑线。
DimobjSheetAsET.WorksheetSetobjSheet=ETapp.ActiveSheetSetobjRange=objSheet.Cells.Item(3,4)
objRange.Font.Name="
黑体"
objRange.Font.Italic=True
objRange.Font.Underline=etUnderlineStyleDoubleobjRange.Font.Color=255
objRange="
字体设置试验"
如何打印电子表格文档?
通过PrintOut方法可以实现打印电子表格文档
以下示例实现打印,当前文档的第1到第3页。
DimwbAsET.workbook
=GetObject(,"
)SetETapp
Setwb=ETapp.Workbooks
(1)
wb.PrintOut1,3,,False,"