全部显示

Object 属性

       

使用 Visual Basic 中的 Object 属性可以返回对 ActiveX 对象的引用,该对象与控件中的链接嵌入OLE 对象相关联。使用该引用可以访问 OLE 对象的属性,或者调用 OLE 对象的方法。

expression.Object

expression   必需。返回“Applies To”列表中的一个对象的表达式。

说明

Object 属性返回对 ActiveX 对象的引用。使用 Set 语句可以将该 ActiveX 对象指定给某对象变量。返回的对象引用的类型取决于创建 OLE 对象的应用程序。

在所有视图中,Object 属性设置均为只读的。

在 Microsoft Access 窗体中嵌入或链接 OLE 对象时,可以设置属性来确定对象类型和容器控件行为,但不能直接设置或读取 OLE 对象的属性,或是应用它的方法,但在执行“自动化”时这是可以的。Object 属性返回对某个“自动化”对象的引用,该对象代表链接或嵌入的 OLE 对象。使用该引用,可以通过设置或读取 OLE 对象的属性或应用它的方法来更改它。例如,Microsoft Excel 是一个支持“自动化”COM 组件。如果已经在 Microsoft Access 窗体中嵌入了 Microsoft Excel 工作表,就可以使用 Object 属性将引用设为与该工作表关联的 Worksheet 对象,然后就可以使用这个 Worksheet 对象的所有属性和方法。

有关 ActiveX 对象支持的属性和方法的详细信息,请参阅用于创建 OLE 对象的应用程序的文档。

示例

下面的示例使用名为 OLE1 的未绑定对象框的 Object 属性。客户名称和地址信息将插入在嵌入的 Microsoft Word 文档中,该文档设置为套用信函格式,名称、地址信息和信函主体中的样本文本都使用占位符。该过程将替换每条记录的占位符信息,然后打印套用信函,但不保存所打印的套用信函的副本。

Sub PrintFormLetter_Click()
    Dim objWord As Object
    Dim strCustomer As String, strAddress As String
    Dim strCity As String, strRegion As String

    ' Assign object property of control to variable.
    Set objWord = Me!OLE1.Object.Application.Wordbasic
    ' Assign customer address to variables.
    strCustomer = Me!CompanyName
    strAddress = Me!Address
    strCity = Me!City & ", "
    If Not IsNull(Me!Region) Then
        strRegion = Me!Region
    Else
        strRegion = Me!Country
    End If
    ' Activate ActiveX control.
    Me!OLE1.Action = acOLEActivate
    With objWord
        .StartOfDocument
        ' Go to first placeholder.
        .LineDown 2
        ' Highlight placeholder text.
        .EndOfLine 1
        ' Insert customer name.
        .Insert strCustomer
        ' Go to next placeholder.
        .LineDown
        .StartOfLine
        ' Highlight placeholder text.
        .EndOfLine 1
        ' Insert address.
        .Insert strAddress
        ' Go to last placeholder.
        .LineDown
        .StartOfLine
        ' Highlight placeholder text.
        .EndOfLine 1
        ' Insert City and Region.
        .Insert strCity & strRegion
        .FilePrint
        .FileClose
    End With
    Set objWord = Nothing
End Sub