WPS二次开发.docx
- 文档编号:9864533
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:11
- 大小:18.67KB
WPS二次开发.docx
《WPS二次开发.docx》由会员分享,可在线阅读,更多相关《WPS二次开发.docx(11页珍藏版)》请在冰豆网上搜索。
WPS二次开发
WPS二次开发
二次开发的兼容性FAQ
WPSOffice2007的二次开发开发和旧版本WPSOffice有什么区别?
答:
WPSOffice2007是完全重新开发的一款产品,其对象格式,设置方式和旧的WPSOffice版本有所不同。
对应的二次开发接口也有所调整。
但大部分的二次开发接口和旧版本保持一致。
WPSOffice2007的二次开发开发和微软的Office二次开发有什么异同?
答:
WPSOffice2007的二次开发接口体系和微软Office的二次开发接口体系基本保持一致。
包括:
对象树,即对象的组织构成、各对象代表的含义和微软Office对象均保持一致;接口函数,即各对象的方法属性的名称和含义均与微软Office保持一致。
原有的与WPSOffice2003或者WPSOffice2002结合的第三方程序,可以直接和WPSOffice2007结合运行吗,
答:
不行。
WPSOffice2007是全新的一个版本,其中的类型库已经升级。
由原来“KingsoftWPS1.0ObjectLibrary”、“KingsoftET1.0ObjectLibrary”、“KingsoftWPP2003ObjectLibrary”分别升级为“KingsoftWPS2.0ObjectLibrary”、“KingsoftET2.0ObjectLibrary”、“KingsoftWPP2.0ObjectLibrary”WPSOffice2007二次开发接口中的对象树,基本保持和2003的一致,但由于WPS本身功能和内部元素结构的改变,个别接口有相应的调整。
原有的与WPSOffice2003或者WPSOffice2002结合的第三方程序,需要做什么改动才能正常和WPSOffice2007结合运行,
答:
使用VB编写的程序,需要将引用库改为升级后的类型库。
并将二者接口有差别的部分进行修改,然后重新编译。
使用VC编写的并用到CLSID的程序,需要重写这些CLSID。
并将二者接口有差别的部分进行修改,然后重新编译。
二次开发文字部分FAQ
提示:
各对象、方法和属性的详细使用方法,请参阅WPSAPI帮助。
以下示例代码都用VB编写,使用其它语言的开发者,请自行做相应转换。
什么是WPS的二次开发?
二次开发是指第三方程序利用WPS提供的接口,实现对WPS内部功能的调用,或者实现WPS文档内部信息的自动获取、设置的功能。
通过二次开发可以达到以
下目的:
完成某种自动化的操作、为WPS增加特定功能、和OA系统结合实现办公自动化。
如何启动WPS文字模块,
如果WPS文字模块已经启动,可以使用GetObject获得这个进程:
SetwpsApp=GetObject(,"WPS.Application")wpsApp.Visible=True
如果WPS尚未启动,可以使用CreateObject来产生一个新进程:
SetwpsApp=CreateObject("WPS.Application")wpsApp.Visible=True
如何退出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="金山文字"
MsgBox"修改后是:
"&mytable.cell(1,1).range.textmytable.cell(1,1).Range.Text="WPSOffice"MsgBox"再次修改后是"&mytable.cell(1,1).Range.Text.如何设置一个表格的单元格的高度和宽度,
下面的例子将活动文档第一张表格的所有单元格的高度和宽度设置都设为200*0.1mm。
DimmytableAsWPS.Table
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
Next
下面的例子将活动文档的第一个表格的所有单元格的宽度设为设为400*0.1mm。
DimmytableAsWPS.Table
Setmytable=ActiveDocument.Tables
(1)
num=mytable.Columns.Count
Forj=1Tonum
mytable.cell(1,j).Width=400
Next
如何添加一个书签,
下面的例子将在当前文档中添加书签“我”,书签的内容为从第三个字符到第五个字符。
DimrAsWPS.Range
Setr=wpsApp.ActiveDocument.Range
r.SetRangeStart:
=3,End:
=5
wpsApp.ActiveDocument.Bookmarks.AddName:
="我",Range:
=r如何替换一个书签的内容,
下面的例子判断名为"temp"的书签是否存在于活动文档中,如果存在则替换该书签的内容。
IfActiveDocument.Bookmarks.Exists("temp")=TrueThenActiveDocument.Bookmarks("temp").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
MsgBox"改变后的内容如下:
"&vbCrLf&"字体名称:
"&.Name_
&vbCrLf&"字号:
"&.Size
EndWith
如何获取和设置段落的格式,
本示例获取和设置活动文档首段左右各缩进1英寸。
WithApplication.ActiveDocument.Paragraphs
(1)Msgbox“左侧缩进:
”&.LeftIndent&VbCrlf&“右侧缩进:
”&.RightIndent
.LeftIndent=InchesToPoints
(1)
.RightIndent=InchesToPoints
(1)
EndWith
本示例设置活动文档首段的行距为至少12磅。
WithApplication.ctiveDocument.Paragraphs
(1).LineSpacingRule=wpsLineSpaceAtLeast.LineSpacing=12
EndWith
二次开发电子表格部分FAQ
如何启动WPS电子表格模块,
如果WPS已经启动,可以使用GetObject获得这个进程:
SetetApp=GetObject(,"ET.Application")etApp.Visible=True
如果WPS电子表格模块尚未启动,可以使用CreateObject来产生一个新进程:
SetetApp=CreateObject("ET.Application")etApp.Visible=True
如何退出电子表格,
调用Application的Quit方法可以退出电子表格模块,下面的例子先把所有打开的表格文档存盘,然后退出。
DimobjWBAsET.workbook
ForEachobjWBInetApp.Workbooks
objWB.Save
NextobjWB
etApp.Quit
SetetApp=Nothing
如何打开一个电子表格文档,
下面的示例以只读方式打开了一个电子表格文档:
Application.Workbooks.OpenFileName:
="E:
\Test.et",ReadOnly:
=True下面的示例打开了一个有密码的电子表格文档:
Application.Workbooks.OpenFileName:
="E:
\Test.et",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
.Range("B2").ColumnWidth=100
EndWith
本例演示了设置当前工作表的所有行高度为20,所有列宽度为100。
WithApplication.ActiveWorkbook.ActiveSheet
.StandardHeight=20
.StandardWidth=100
EndWith
如何获取单元格中的内容,
本示例获取了当前工作表中第(2,3)单元格中的内容。
MsgBoxApplication.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula如何设置单元格中的内容,
本示例设置了当前工作表中第(2,3)单元格中的内容。
Application.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula="temp"如何设置单元格中的公式,
本示例设置了当前工作表中第(2,3)单元格中的公式内容,该单元格将显示计算结果:
2.5。
Application.ActiveWorkbook.ActiveSheet.Cells.Item(2,3).Formula="=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
.Range("b2").Borders.LineStyle=etContinuous.Range("b2").Borders.Color=vbRed
EndWith
如何读取批注的内容
WPS的电子表格模块用Comment对象代表一个批注。
以下的示例,用于读取当前
表单的第三行第四列单元格(编号为“D3”)中的批注信息。
DimobjCMAsET.Comment
DimobjRangeAsET.Range
DimobjSheetAsET.Worksheet
SetobjSheet=ETapp.ActiveSheet
SetobjRange=objSheet.Cells.Item(3,4)
SetobjCM=objRange.Comment
NothingThenIfobjCMIs
MsgBox"未发现批注内容"
Else
MsgBoxobjCM.Text
EndIf
如何添加批注,
WPS的电子表格模块用Comment对象代表一个批注,通过Range的AddComment
方法可以添加批注。
下面的示例为当前表单的第三行第四列单元格(编号为“D3”),添加一个批注。
DimobjCMAsET.Comments
DimobjRangeAsET.Range
DimobjSheetAsET.Worksheet
SetobjSheet=ETapp.ActiveSheet
SetobjRange=objSheet.Cells.Item(3,4)objRange.AddComment"这是一个批注"
如何设置单元格内字体的属性,
通过Font对象可以设置和读取字体的各种属性。
下面的例子设置当前单元格的字体设为粗体45号字ETapp.ActiveCell.Font.Bold=True
ETapp.ActiveCell.Font.Size=45
下面的例子把第3行,第4列的单元格中的文字,修改为“字体设置试验”。
字体设
为黑体,斜体,红色并加下滑线。
DimobjRangeAsET.Range
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(,"ET.Application")SetETapp
Setwb=ETapp.Workbooks
(1)
wb.PrintOut1,3,,False,""
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WPS 二次开发
![提示](https://static.bdocx.com/images/bang_tan.gif)