Office中国论坛/Access中国论坛

标题: Formula One 用户指南 [打印本页]

作者: zhuyiwen    时间: 2003-10-25 04:25
标题: Formula One 用户指南

译者:朱亦文
日期:2003.10.24


    Formula One 控件能用支持 ActiveX 控件的基于 Windows 的开发环境,包括 Microsoft Visual Basic / Microsoft Visual C++ 以及 PowerBuilder。(当然也支持 Access)


Formula One 中的新特点

6.0 版
支持 Excel 97。Formula One 支持 Excel 97/95 文件格式。Formula One 可以兼容 Excel 97/95 读写工作表。(据官方网站宣称 Ver 6.1 支持 Excel 2000)

最小限度的重计算。Formula One 现在支持最小限度的重计算。在某些情况下,这样能戏剧性的改进重算速度。

工作表大小增大到原来的四倍。Formula One 现在支持工作表的最大行为 65,536 行。这是以前版本所支持的行数的四倍。

单元格容量增加。工作表中的每个单元格能包含 16KB 的文本大小。

现在能够合并单元格。Formula One 能两个或更多的相邻的单元格。这使得产生一个宽范围的工作表格式成为可能。例如,开发者和用户能方便快速地合并多个列的题头头一个标题,并插入一大块文字或者指这个单元格的背景和边框。

新的查找和替换方法。Formula One API 拥有一个通过 API 新的、改进的方法来执行查找和替换。使用新的 API 对象 F1FindReplaceInfo。通过使用 DefineSeach 方法来创建 FindReplceInfo 对象进行搜索。该搜索还具有一个新的 FindNext (查找下一个)方法。新的 Replace (替换)方法使用新的数据替换查找到的数据。

数据片断新的格式。Formula One 现在允许指定分母片断数据的格式。即能明确指定值 0.8 为 4/5 或 8/10,甚至是 80/100。

增强的打印特征。在本版中改进几个打印功能。包括新的 F1PageSetup (页面设置)对象,该对象给用户对纸张尺寸设置有一个宽松的选择,增强工作表控件的页码功能,并且能够设置默认的打印份数。页面设置对话框也进行了新的设计。

增强了日期范围。现在可以使用 9999 的年份。突破以前版本的 2078 年份限制。
改进了单元格编辑。当编辑单元格时,在单元格中编辑空格以适应输入的需求。

新的工作表函数。Formula One 现在支持 SUMPRODUCT 工作表函数。

鼠标操作。支持现有的 InteliPoint (智能)鼠标。隐藏滚动条可以防止用户使用鼠标滚轮来进行滚动。

6.1 版

Add-In 加载项功能。Formula One 6.1 版在 Visual Basic/C++ 中提供 Add-In 加载项功能。允许开发者在 Formula One 中增加自己的功能

Formula One 简介

    Formula One (记住:在这里不是指 F1 方程式赛车) 提供一个高性能的工作簿控件,用以创建、操作和打印工作簿。在应用程序窗体或窗口画出的工作簿是一个对象。还能够创建隐形的工作簿,用于不在窗体或窗口中显示工作簿执行计算或其它功能。这些对象由 Formula One 提供支持。

    Formula One 还提供一个工作簿设计器。工作簿设计器提供一个图形界面,允许用户在应用程序中点击或通过菜单命令调用它来设计工作簿格式。工作簿设计器也可以独立于应用程序单独运行,用以创建 Formula One 电子表格。
[此贴子已经被作者于2003-10-24 20:29:01编辑过]


作者: yangzn    时间: 2003-10-25 05:25
支持Acess?我用的office 2000,可是在用这个控件时,进入设属性设置对话框时,下拉滚动条时,就出错了.Formula One是前几天论坛公布的版本,这是为什么?
作者: zhuyiwen    时间: 2003-10-25 05:30
以下是引用yangzn在2003-10-24 21:24:44的发言:
支持Acess?我用的office 2000,可是在用这个控件时,进入设属性设置对话框时,下拉滚动条时,就出错了.Formula One是前几天论坛公布的版本,这是为什么?


没碰到你说的问题!

呵呵,检查你的环境吧

[em24]
作者: zhuyiwen    时间: 2003-10-25 05:32
使用 Formula One API 对象

    Formula One 提供多种 API 对象,对于开发应用程序非常有用。主要的对象有 F1Book 和 F1BookView,它们包含了 Formula One 中的大部分功能。其它的对象,只有 F1FindReplaceInfo 实际上执行操作——剩余的对象仅仅用于在访问这两个工作簿对象中控制数据。

下列对象在用户手册和 Formula One 联机帮助中进行讨论:

        F1Book。Formula One 工作簿对象。当在窗体置放一个 Formula One 工作簿控件时就创建了一个 F1Book 对象。
        F1BookView。Formula One 工作簿视图。F1BookView 对象是一个非窗口、不可见对象。它包含它自身的数据,或者依附到一个工作簿,但拥有它自己的选择和视图设置。
        F1FindReplaceInfo。Formula One 的查找/替换对象。F1FindReplaceInfo 对象包含查找和替换操作的属性和方法。
注:以下对象控制数据,它们必须与 F1Book 或 F1BookView 的方法联用来完成操作。)
        F1CellFormat。Formula One 单元格格式对象。F1CellFormat 对象包含描述单元格格式的属性
        F1EventArg。Formula One 事件参数对象。F1EventArg 对象描述变量的引用。
        F1FileSpec。Formula One 文件规格对象。F1FileSpec 对象包含描述工作簿文件的属性。
        F1NumberFormat。Formula One 数值格式对象。F1NumberFormat 对象包含描述数值格式的属性。
        F1ObjPos。Formula One 对象位置对象。F1ObjPos 对象包含指定对象的位置识别的属性。

<未完待续>
[此贴子已经被作者于2003-10-25 15:06:20编辑过]


作者: yangzn    时间: 2003-10-25 06:15
[attach]2153[/attach]
就是这个问题,在全部检签里下拉滚动条至底部时;在VB里没有这个出错,我用的WinXP home +acess2000
作者: zhuyiwen    时间: 2003-10-25 23:04
        F1ODBCQuery。Formula One ODBC 查询对象。F1ODBCQuery 对象描述一个查询。
        F1PageSetup。Formula One 页面设置对象。F1PageSetup 对象包含打印工作表的页面设置描述属性。
        F1RangeRef。Formula One 范围引用对象。F1RangeRef 对象包含识别单元格范围的属性。
        F1Rect。Formula One 矩形对象。F1Rect 对象包含识别工作表上的矩形范围或对象的属性。
        F1ReplaceResults。Formula One 替换结果对象。F1ReplaceResults 对象包含指出多少条目查找到及多少条目被替换的属性。

<未完待续>
作者: zhuyiwen    时间: 2003-10-25 23:49
了解工作簿(Workbooks)和工作表(Worksheets)

    当使用 Formula One 打开或新建一个文件时,就打开或创建了一个工作簿(Workbook)。在工作簿中存储单元格的数据、格式、工作簿的格式信息以及指定工作簿的打印属性和计算属性的信息。也能同时打开多个工作簿。在一个工作簿中的公式能引用另外的工作簿中的单元格。Formula One 引擎管理着所有打开的工作簿。

    工作簿是工作表的集合(也就是说一个工作簿包含至少一个以上的工作表)。工作表用来显示和分析数据。能在几个工作表中同时操作数据,也能基于多工作表数据计算。对于分组组织信息来说,工作表显得非常有用。例如,在同一个工作簿中,可以按不同的销售区域建立工作表以描述以年度为时间单位的销售业绩。将所有数据都放到一个工作表将是很麻烦的事,而把它们分别存放在不同文件又有诸多不便。(因此,建议将它们放在同一个工作簿中的不同的工作表中)

<未完待续>
作者: zhuyiwen    时间: 2003-10-26 00:24
介绍工作簿设计器

    下面举例说明工作簿设计器,它看起来非常象商业用的电子表格应用程序。不同之处在于,例如,它可以设计应用程序时调用,也能在你开发的应用程序运行时调用。可以独立于应用程序单独运行它来创建 Formula One 工作表。

[attach]2170[/attach]

<未完待续>
作者: zhuyiwen    时间: 2003-10-26 05:00
使用工作簿、视图以及不可见的工作簿

在 Formula One 中,可以创建工作簿控件(F1Book)以及不可见工作对象(F1BookView)。本节讨论这两个控件的用途和功能。

使用 F1Book 控件

当创建一个工作簿(F1Book),将自动创建默认视图,该视图提供简单的方法来用不同的可选的显示形式显示数据,它包含下列信息:
        网格的显示
        列和行的标题显示
        指定固定的行和列
        最大的工作簿视图大小

另外,视图还包含用户权限,诸如,允许用户选择单元格、输入或编辑数据、改变行和列的大小。

下面图示说明从工作簿中显示数据视图的概念。
[attach]2175[/attach]

在默认状态下视图是附着在工作簿上。然而,也可以将视图附着到另外的工作簿上。多视图用来在工作簿上显示指定数据,但是,每个视图每次只能在一个工作簿上显示数据。当多个视图在同一个工作簿上显示数据时,任何一个视图的改变将都会反映其它的视图上。下面图示说明这个概念。

[attach]2176[/attach]

使用 F1BookView API 对象再不会困惑了吧。一个视图每次只能向一个工作簿中提供数据。如果想用一个工作簿显示从多个工作簿来的数据,使用 F1BookView API 对象,这个将在下一节中讨论.

<未完待续>
作者: zhuyiwen    时间: 2003-10-26 05:04
标题: Formula One 用户指南
使用 F1BookView 控件

Formula One 提供 F1BookView API 对象,它允许创建一个不可见的工作簿控件。不可见的工作簿控件是无窗口的,且只能使用 F1BookView 对象编程创建。

F1BookView 对象对于在不想中止一个可视的工作簿、窗体或窗口的情形下是有用的。例如,当想执行计算或格式化在不可见的工作簿中的“后台数据”,就有用。

另外,如果想要建立显示一个工作簿的应用程序,但其包括从多个工作簿来的数据,可以使用不可见的工作簿来保存不想给用户看的数据。这种技巧不要求隐藏工作簿,因此,用户不太可能注意到改变了不可见的工作簿。

如果想将不可视的工作簿变成可视,可以使用 Attach 或 AttachToSS 方法将 F1BookView 对象连接到 F1Book 对象上。当 F1BookView 对象连接到 F1Book 对象后,以前连接的对象会被 severed。

下面例子告诉你怎样使用 F1BookView API 对象。在该例中,F1Book 对象中的数据,根据连接到这个可视的工作簿的不可见的工作簿而改变。显示的计算和数据不要求使用剪切和清除命令,用户不可能注意可视工作簿的变化。

[attach]2177[/attach]

下面代码用来创建不可视的工作簿和执行计算。
变量定义:
Dim bv1 As F1BookView
Dim bv2 As F1BookView

创建不可视的工作簿并读入工作簿文件:

Private Sub Form_Load()
    Dim FileName As String
    Set bv1 = F1Book1.CreateBookView
    Set Bv2 = F1Book1.CreateBookView
    bv1.ReadEx “wb1.vts”
    bv2.ReadEx “wb1.vts”
End Sub

“Quarter Totals”按钮的代码:

Private Sub Command1_Click()
    F1Book1.AttachToSS bv1.SS
    bv1.TextRC(22, 1) = “Total”
    bv1.FormulaRC(22, 2) = “sum(b2:b1)”
    bv1.SetSelection 22, 2, 22, 5
    bv1.EditCopyRight
End Sub

“Region Total”按钮的代码:

Private Sub Command2_Click()
    F1Book1.AttachToSS bv2.SS
    Bv2.TextRC(1, 6) = “Total”
    Bv2.FormulaRC(2, 6) = “sum(b2:e2)”
    Bv2.SetSelection 2, 6, 21, 6
    Bv2.EditCopyDown
End Sub

<未完待续>
作者: zhuyiwen    时间: 2003-10-26 22:36
使用 F1BookView 的方法和属性

对于每个 F1BookView API 对象,可以读/写下列属性:

        用户能执行操作和任务
        工作簿及它的工作表的外观
        单元格的内容和位置
        单元格的选择状态
        数据格式

通常,在一个不可见的工作簿中,F1BookView API 对象不支持调用对话框或管理事件的方法和属性操作。明确的说,在 F1BookView 对象中不能使用下列属性和方法:

AllowDesigner        BorderStyle        CalculationDlg
CancelEdit        ColorPaletteDlg        ColWidthDlg
DefinedNameDlg        DefColWidthDlg        DefRowHeightDlg
DeleteDlg        DoCancelEdit        DoClick
DoDblClick        DoEndEdit        RoEndRecalc
DoObjClick        DoObjDblClick        DoObjGotFocus
DoObjLostFocus        DoObjValueChanged        DoRClick
DoRDblClick        DoSafeEvents        DoSelChange
DoStartEdit        DoStartRecalc        DoTopLeftChanged
Enabled        FileName        FilePageSetupDlg
FilePageSetupDlgEx        FilePrint        FilePrintEx
FilePrintPreview        FilePrintSetupDlg        Find
FindDlg        FindEx        FormatAlignmentDlg
FormatBorderDlg        FormatCellsDlg        FormatDefaultFontDlg
FormatFontDlg        FormatNumberDlg        FormatObjectDlg
FormatPatternDlg        FormatSheetDlg        GotoDlg
hWnd        InsertDlg        LaunchDesigner
LaunchWorkbookDesigner        LineStyleDlg        Mode
ObjNameDlg        ObjOptionsDlg        OptionsDlg
PasteSpecialDlg        PolyEditMode        ProtectionDlg
Replace        ReplaceDlg        ReplaceEx
RowHeightDlg        SaveFileDlg        SaveFileDlgEx
SortDlg        ValidationRuleDlg       

<未完待续>
作者: yangzn    时间: 2003-10-28 05:52
期等中..
作者: sxhmft    时间: 2003-11-7 18:16
急急急!!!
作者: gw    时间: 2003-11-10 03:02
热切期待下文
作者: zhuyiwen    时间: 2003-11-10 18:35
使用 Attach (连接)方法

在任何时候都可以使用 Attach 或 AttachToSS 方法将视图或不可见工作簿连接到工作簿上。这两个方法连接视图或不可见的工作簿到一个不同的工作簿上并切断工作簿上当前的连接。

使用连接方法,必须记住下面几个重要的原则:

        一个视图或 F1BookView 不可见工作簿同一时刻只能被连接到一个工作簿上。
        一个 F1Book1 工作簿控件能有多个连接在其上的视图或 F1BookView 不可见的工作簿。

在一个被连接的工作簿上改变视图或不可见的工作簿

1.        创建工作簿控件
2.        创建另一个工作簿担当视图。做为选择,创建一个不可见的工作簿
3.        使用 Attach 或 AttachToSS 方法将视图或不可见的工作簿连接到工作簿。

以下代码选择工作簿并使用 Attach 方法连接一个视图(F1Book2 是视图,F1Book1 是工作簿)

F1Book2.ATTACH F1Book1.Title

控制工作簿区域的显示

有数个属性,用以设置确定工作簿的哪个区域显示出来。必须指明出现在当前工作簿或视图中的工作表及单元格范围。

如果工作簿包含多个工作表,可以指明哪个工作表显示出来。可以通过设置 Sheet 属性来完成。将要显示的工作表的编号设置到 Sheet 属性。工作表是从 1 开始从左至右进行编号的。不搞乱工作表的编号,在工作表的标签上有工作表的名称。

为了防止用户跑到工作簿上的另一个工作表上,可以将 ShowTabs 属性设置为 F1TabsOff。这将隐藏工作标签,防止用户在这里改变工作表。作为选择,可以在 SelChange 事件中编写代码来防止用户改变工作表。

可以设置 MinRow、MinCol、MaxRow、MaxCol 属性来为每个工作表限制工作范围。想用多个视图显示工作表的不同部分时,这一特点非常有用。

下面的图例说明在视图中设置属性限制显示的行数。显示的在所有的三个视图中数据包含在一个工作表中。注:没有一个视图具有垂直滚动条,这将防止最终用户在滚动条上滚跑看到的数据行。

<未完待续>
[此贴子已经被作者于2003-11-10 11:01:22编辑过]


作者: sxhmft    时间: 2003-11-11 16:52
好!!!!!!
作者: zhuyiwen    时间: 2003-11-21 00:44
保存视图或不可见工作簿的信息

当工作簿保存后,视图或不可见工作簿的设置就被保存到工作簿中。当视图或不可见工作簿连接到一个工作簿时,将从该工作簿中重新获取设置信息。

读/写文件

Formula One 能读/写格式的文件。下表描述相关格式的扩展文件名

格式        扩展文件名        描述
Formula One        .VTS        Formula One 6.X 格式
Formula One 3, 4, 5        .VTS        Formula One 3.x、4.x 或 5.x 格式
Excel 97        .XLS        Excel 97 格式
Excel 5.0 或 95        .XLS        Excel 5.0 或 95 格式
固定格式文本文件        .TXT        包含数字格式信息的固定分界符文本文件
固定格式文本文件(仅数值)        .TXT        不包含格式信息的固定分界符文本文件
HTML        .HTM        包含文本格式信息 HTML 格式 (仅写格式)
HTML(仅数据)        .HTM        不包含图形信息 HTML 格式 (仅写格式)

Formula One 6.x 不支持 Formula One 1.x、2.x 及 Excel 4.x 文件格式。

以前,Formula One 有些特性不被 Excel 支持,保存在 VTS 文件的文件格式不能被Excel 读取。XLS 格式是基于记录的,每条记录描述工作簿唯一的特性或属性。如果保存的文件包含 Excel 不支持的特性,在保存成 XLS 文件时工作簿的这些特性会被移出。同样的,Excel 文件包含了不被 Formula One 支持的特性,也会如此。Formula One 加载一个 Excel 工作表或工作簿将会忽略不支持的特性。

重点:如果加载包含 Formula One 不支持的特性的 Excel 文件,如,图表(Chart)、绘画对象(Drawing Object)或公式数组,这些特性将被忽略。如果是一个非常重要的由 Formula One 书写的 Excel文件,以后要用 Excel 读取,这些特性将被忽略且不能挽回。

Formula One 不能读有口令保护的 Excel 文件。如果打算读入这种 Excel 文件,请先除口令保护。

下面的方法和属性,在 Formula One 应用程序中可用:

属性/方法        描述
Read, ReadEx        从磁盘上读入工作表
ReadFromBlob        从内存二进制大对象变量中读入工作表
SaveFileDlg, SaveFileDlgEx        该对话框,允许你将当前文件保存为 Formula One、Excel、制表符分隔的文本文件或 HTML 文件格式的文件。
Write, WriteEx        将工作表保存到一个文件
WriteToBlob, WriteToBlobEx        将工作表保存到内存二进制大对象变量中

<未完待续>
[此贴子已经被作者于2003-11-20 16:50:58编辑过]


作者: tmtony    时间: 2003-11-21 20:53
谢谢,非常好的指南!!
作者: gw    时间: 2003-12-6 06:13
请朱大师再续下文
作者: zhuyiwen    时间: 2003-12-7 08:41
Sorry, 可能要等一段时间了. 正在写一个关于收发文管理的软件(WEB: ASP + MDB), (WORD/JPG文件将保存在MDB文件中), 可能暂时没有时间继续编写此指南, 如有有心人接着写话,非常感谢!
作者: gw    时间: 2003-12-8 04:11
很失望。苦于自己水平不够,真想替你分担。请朱大师适当时发一个例子,再次感谢。
作者: duzili    时间: 2004-6-18 07:43
ok
作者: shadowyao    时间: 2005-11-3 07:18
学习到了,谢谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3