OWC 学习笔记.doc_第1页
OWC 学习笔记.doc_第2页
OWC 学习笔记.doc_第3页
OWC 学习笔记.doc_第4页
OWC 学习笔记.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ZOWC学习笔记-电子表格(Spreadsheet)风格属性设置2008-07-29 02:43在项目中用电子表格,客户并不希望在系统中看到微软的logo或其他excel明显的标记,我通过设置Spreadsheet的一些属性来满足需求。示例使用JavaScript,后续相同1. DisplayToolbar属性,如果指定电子表格、图表区或“数据透视表”列表显示了工具栏,则返回 true。默认值为 true。Boolean 类型,可读写。示例:Spreadsheet.DisplayToolbar= false/true;2. DisplayTitleBar属性,如果指定的电子表格显示了标题栏,则返回 true。默认值为 true。Boolean 类型,可读写。示例:Spreadsheet.DisplayTitleBar= false/true;3. DisplayPropertyToolbox属性, 设置该属性为 true 可显示“命令和选项”窗口。Boolean 类型,可读写。示例: Spreadsheet.DisplayPropertyToolbox = false/true;4. DisplayOfficeLogo 属性,设置为 True 可在工具栏上显示 Microsoft Office 徽标。Boolean 类型,可读写。示例: Spreadsheet.DisplayPropertyToolbox = false/true;除了Spreadsheet对象的一些属性,我还设置Window对象的一些属性Window 对象,表示一个窗口。许多工作表特性,诸如滚动条和网格线,实际上是窗口的属性。Window 对象为 Windows 集合的成员。每个工作表具有唯一的 Window 对象。代码只能访问工作簿活动工作表的窗口。也就是说,尽管 Windows 集合表现为只有一个 Window 对象,但实际上有多个 Window 对象,不过只能访问活动工作表的 Window 对象。5. DisplayColumnHeadings属性,返回或设置指定窗口是否显示列标题。设置该属性为 false 将隐藏列标题。默认值为 true。Boolean 类型,可读写。示例: Spreadsheet.ActiveWindow.DisplayColumnHeadings = false/true;6. DisplayRowHeadings属性,返回或设置指定窗口是否显示行标题。设置该属性为 false 将隐藏列标题。默认值为 true。Boolean 类型,可读写。示例: Spreadsheet.ActiveWindow.DisplayRowHeadings= false/true;7. DisplayHorizontalScrollBar/DisplayVerticalScrollBar属性,如果指定电子表格显示了水平/垂直滚动条,则返回 true。默认值为 true。Boolean 类型,可读写。8. DisplayWorkbookTabs属性,如果显示工作簿标签,则返回 true。如果设置单个 Window 对象的该属性为 False,则工作簿所有窗口的该属性均设置为 False。默认值为 true。Boolean 类型,可读写。9. DisplayGridlines属性, 如果指定电子表格显示了 Spreadsheet.XMLData 字符串类型的属性,可用来获得或设置XML格式的电子表格内容。Spreadsheet.Range 该方法接受一个区域引用(例如A1:B2或A:B),返回一个Range对象。Spreadsheet.ActiveSheet 当前激活Sheet页Spreadsheet.Cells 单元格集合Spreadsheet.ActiveSheet.ActiveCell 当前激活单元格Spreadsheet.AllowPropertyToolbox 控制是否显示属性工具箱。Spreadsheet.AutoFit 决定控件是否处于”自动适应”模式。Spreadsheet.Dirty 当控件中有任何修改,任何单元被改变后,这个属性会被置为true。通常使用Dirty属性来判断是否需要保存内容。Spreadsheet.DisplayColHeaders, Spreadsheet.DisplayRowHeaders 控制是否显示行头和列头。Spreadsheet.DisplayPropertyToolbox 控制是否显示属性工具箱。Spreadsheet.DisplayTitleBar 控制是否显示标题栏。缺省trueSpreadsheet.DisplayToolbar 控制是否显示工具条。缺省是显示。Spreadsheet.EnableAutoCalculate 控制电子表格模型是否重算。Spreadsheet.ScreenUpdating 屏幕刷新。默认刷新。Spreadsheet.Selection 返回当前选择的对象。使用TypeName函数来判断。Spreadsheet.TitleBar 可以改变标题栏的文本和格式。Spreadsheet.ViewableRange 控制电子表格实际可见的部分。Range.Address 该属性返回一个区域的地址。Range.Cells 区域单元格集合Range.Column, Range.Row 区域中首行和首列的编号。Range.Columns, Range.Rows Range对象包含的行或者列的集合。Range.Value 该属性获得或设置区域的值。Range.Formula 该属性读写一个单元的公式字符串。记住在公式的开始使用等号(=)。Range.Text 返回Range.Value属性的格式化版本。Range.NumberFormat 字符串类型的属性,控制单元中数字的格式。Range.Font 返回一个许多组件都能使用的常用的Font对象。Range.Borders 该属性返回一个Borders对象,可以通过它来设置每个单元边框的各个特性,如边框线的线粗,样式及颜色。Object_Initialize() 在控件加载时发生,但在加载完成前完成初始化。Range_Change() 只要电子表格中的一个或多个单元被改变,该事件就会被触发。Object_StartEdit (ByVal Selection, ByVal InitialValue, ByVal Cancel, ByVal ErrorDescription)Object_EndEdit(ByVal Accept, ByVal FinalValue, ByVal Cancel, ByVal ErrorDescription) 当一个单元将要被编辑,正要结束编辑时触发。Spreadsheet1.ActiveSheet.Cells.Clear(); 清除所有单元格一、在VB中使用OWC组件 引用Office Web Component组件到项目中(ProjectComponents) 选择Microsoft Office Web Components 11.0,点击应用将会在工具栏中出现五个组件, 分别为ChartSpace、SpreadSheet、DataSourceControl、RecordNevigationControl、PivotTable。本文档仅就SpreadSheet的相关操作进行说明,其余请参考Microsoft Office Web组件Visual Basic参考。 二、通过可视化配置设定OWC的呈现效果及相关属性 可以通过设定命令和选项来更改OWC呈现的相关设置(在SpreadSheet上点击右键调出) 通过设定格式、工作表、工作簿等选项,将OWC的SpreadSheet显示格式设定为如下图所示样式,其中列表头是不显示的,采用第一列充当表头,并且锁定第一行的区域,使得表头可以始终呈现给用户(实现该步骤,只需要将鼠标选中第二行,并设定格式中的单元格锁定,如上图所示小锁头符号)。 还需要在属性设定中设定其是否显示TitleBar、ToolBar、OfficeLogo等。 附1: 要实现类Grid效果,则应不允许插入列、删除列等。可以设定保护得到效果。 不过,不建议在设计时就做保护的设定。因为程序运行过程中会对SpreadSheet做数据填充或呈现样式修改等动作,就必须先要取消SpreadSheet的保护效果,在代码上有些冗余。所以建议在运行中动态调整保护的选项,可以通过SpreadSheet.ActiveSheet.Protect()方法设定。 附2: 如何设定单元格的值类型? 方法一、可以通过设定格式中的数字格式设定一列或某单元格的值类型。 方法二、代码实现,可以在Excel中录制宏得到VBS代码 means Text ; 0.00000_ means numeric ; 0_ means integer Me.xlSpreadsheet.ActiveSheet.Range(A:B).NumberFormat = Me.xlSpreadsheet.ActiveSheet.Range(C:C).NumberFormat = 0.00000_ Me.xlSpreadsheet.ActiveSheet.Range(D:K).NumberFormat = Me.xlSpreadsheet.ActiveSheet.Range(L:N).NumberFormat = 0_ 注意:0_后面还有一个空格,这个是不可少的。 附3: 第一行作为Title,则Title不允许在运行时被User修改,所以需要Lock该行,可以通过设计时设定,也可以在运行时动态控制 Lock the Title, can not be modified xlSpreadsheet.ActiveSheet.Range(A1:B1).Locked = True 三、呈现数据、读取数据、更改呈现样式等操作方式 1:呈现数据 SpreadSheet的数据来源可以有三种,分别为CSV Data、XML、Html,分别对应方法为CSVData/CSVURL、XMLData/XMLURL、HTMLData/HTMLURL。不过这仅限于比较规则的二维表结构的数据。 一般的还是采用逐行设定值的方式。 xlSpreadsheet.ActiveSheet.Cells(intRowCounter, intColCounter).Value 注意:不管采用哪种方式,都需要先将SpreadSheet锁定区域解锁,才能将值设定上去。 2:读取数据 从SpreadSheet上读取数据的方式与呈现数据方式类似,直接采用逐行逐列方式读取。 3:更改呈现样式 SpreadSheet的样式设定非常灵活,可以设定一行、一列、多行、多列、选定单元格等的样式。其动态设定方式分别为如下所示: 设定一列的背景颜色,可以通过下面几种方式 xlSpreadsheet.ActiveSheet.Columns(1).Interior.Color = vbRed 或 xlSpreadsheet.ActiveSheet.Columns(1).Interior.ColorIndex = 10 或 xlSpreadsheet.ActiveSheet.Range(A:A).Interior.Color = vbRed 或 设定一列的字体颜色,可以通过下面几种方式 xlSpreadsheet.ActiveSheet.Columns(1).Font.Color = vbRed 或 xlSpreadsheet.ActiveSheet.Columns(1).Font.ColorIndex = 10 或 xlSpreadsheet.ActiveSheet.Range(A:A).Font.Color = vbRed 设定一行的背景、字体颜色,可以通过下面几种方式 xlSpreadsheet.ActiveSheet.Rows(1).Interior.Color = vbRed 或 xlSpreadsheet.ActiveSheet.Rows(1).Interior.ColorIndex = 10 xlSpreadsheet.ActiveSheet.Rows(1).Font.Color = vbRed 或 xlSpreadsheet.ActiveSheet.Rows(1).Font

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论