Windows)
FileMaker Pro支持三种“自动化对象”:Application、Documents和 Document。以 下方法和属性可用于这些对象。 Application
访问 FileMaker Pro应用程序。
属性 (除“Visible”外的所有属性都是只读的。)
Application:返回此对象的指针,该对象为对象层次结构的根对象。 Parent:返回此对象的指针。
全名:返回应用程序的名称,包括路径。
Name():返回应用程序的名称 -“FileMaker Pro”。
Caption:返回框架窗口的窗口标题。FileMaker Pro 标题通常设置为说明当前的活动 文档,而客户端不能单独设置。
DefaultFilePath:返回打开文件的默认路径详细信息。
Documents:返回 Documents集合对象的指针,以便通过脚本打开、访问和运行单 个 Document对象。
Version:返回 FileMaker Pro的版本。
Visible:如果应用程序可见,返回 TRUE。设置为 TRUE显示应用程序,设置为 :如果应用程序可见,返回 TRUE。设置为 TRUE显示应用程序,设置为
FALSE则隐藏应用程序。 ScriptStatus():如果脚本正在运行,返回 2,如果脚本暂停,返回 1,如果没有 运行脚本,则返回 0。
方法 Quit():关闭应用程序。请注意,如果仍然有连接的客户端,则在所有客户端 断开 FileMaker Pro Automation服务器之前,应用程序始终隐藏。为阻止意外行 为,请始终在对象释放语句后使用 Quit语句。例如:
FMproApp.Quit
Set FMProApp = Nothing Documents
这是打开文档或 FileMaker Pro文件的集合。 属性
注意所有属性均为只读。
Application:返回 Application对象的指针。 Parent:返回 Application对象的指针。
Count:返回 Document集合中的 Documents数量(长整型)。
_NewEnum:返回遍历 Document集合中所有 Document对象的枚举器对象。此属
性不是对象的显式属性,但在 For循环中使用 document时可以隐式访问。 Active:返回活动文档。 Item(变量):返回集合中的特定 Document对象。此方法是“Documents集合”
的默认成员。此方法需要变量参数,可以按照以下说明指定: 表示文档文件名(完整路径名)的字符串。 Documents集合中的索引(长整型)。 NULL(返回整个集合)。 方法
打开(字符串格式的文件名, 字符串格式的帐户名 , 字符串格式的密码):打开特定 FileMaker Pro文件,创建 Document对象,并返回 Document对象的指针。 Close():关闭集合中的所有文档,并将它们从此集合中删除。“Document
Close”语句会确实关闭文档。如果其他用户在应用程序收到 “Document Close”语 句时与 FileMaker Pro数据库保持连接,则系统会在不发出警告的情况下立即断开 与这些用户的连接。确保在发送此命令前,允许已连接的用户有机会退出 FileMaker Pro。
Document
Document是 FileMaker Pro数据库文件。 属性 (所有属性均为只读。)
Application:返回 Application对象的指针。
Parent:返回 Document Collection 对象的指针,即 Document对象的父项。
FullName:返回文档的文件详细信息,包括路径。如果 Document FullName命令被
发送到在主机上运行的远程文件,则只会返回该文件的名称,而不会返回其路径。 Path:返回文档的路径详细信息。这不包括文件名或扩展名。 Saved:返回文档状态(文档是否保存)。FileMaker Pro会始终返回 TRUE。
Active:如果 Document对象的窗口是活动的,则返回 TRUE,否则返回 FALSE。 方法
Activate():使与此 Document对象关联的窗口变为活动窗口。 Save():刷新数据库缓存。 Close():关闭文档,并将其从 Documents集合中删除。
DoFMScript(WhichScript As String):在此 Document对象上执行 FileMaker Pro脚 本。该脚本按名称指定,并且 Document(如 FileMaker Pro文件)中必须已存在此 脚本。
(WhichScript As String):在此 Document对象上执行 FileMaker Pro脚
本。该脚本按名称指定,并且 Document(如 FileMaker Pro文件)中必须已存在此 脚本。
8.5.3 ActiveX Automation示例(Windows) Private Sub Form_Load()
'---------------------------------------------
'的示例代码。'以 Visual Basic形式访问 FileMaker Pro''“FileMaker Pro 7.0类型 库”,且必须可用。' 必须在 Visual Basic的项目 /引用中检查
'---------------------------------------------'--------------------------------------------- '
声明对象并启动 FileMaker
'---------------------------------------------' 声明对象变量
Dim FMApp As FMPro70Lib.Application Dim FMDocs As FMPro70Lib.Documents Dim FMActiveDoc As FMPro70Lib.Document ' 启动 FileMaker
Set FMApp = CreateObject(\) ' 设置 document对象
Set FMDocs = FMApp.Documents
' 使 FileMaker可见(从自动化启动时,' 默认情况下, FileMaker会保持隐藏。 FMApp.Visible = True
'---------------------------------------------
' 使 FileMaker可见(从自动化启动时,' 默认情况下, FileMaker会保持隐藏。 FMApp.Visible = True
'---------------------------------------------' 查询打开的文档
'---------------------------------------------' 检查打开文档计数
If FMDocs.Count = 0 Then
Debug.Print \无开启的文档\已开启文档的计数为 :\ End If
'-------------------------------------------------' 打开 FileMaker数据库并运行脚本
'-------------------------------------------------'
注释:FileMaker文件“c:\\testing.fp7”必须可用于' 名为“第一个脚本”的脚本, 以便下列代码' 正确执行。
Dim myOpenFile As Object '注释:也可以声明为 FMPro70Lib.Document
Set myOpenFile = FMDocs.Open(\) myOpenFile.DoFMScript(\第一个脚本\) '-------------------------------------------------' 查询活动文档
'-------------------------------------------------- Set FMActiveDoc = FMDocs.Active ' 显示活动文档的名称
Debug.Print \活动文件为 \ '------------------------------------------------- 活动文件为 \ '-------------------------------------------------' 枚举并关闭文档
'-------------------------------------------------- Dim TempToc As Object If FMDocs.Count > 0 Then For Each TempDoc In FMDocs
Debug.Print \即将关闭文档:\
TempDoc.Close
Set TempDoc = Nothing Next End If
'---------------------------------------------' 清理并退出
'---------------------------------------------- Set FMDocs = Nothing
Set FMActiveDoc = Nothing Set myOpenFile = Nothing ' 退出 FileMaker并释放变量
'(注释:退出后始终将应用程序变量设置为 Nothing。 FMApp.Quit
Set FMApp = Nothing
End Sub 示例