我在这里学编程 索引篇 共55页[1 2 3 4 5 6 7 >»<... 最后一页]

方法(I-L)


LinkExecute

在一次 DDE 对话过程中将命令字符串发送给发送端应用程序。不支持命名参数。

语法:
object.LinkExecute string
string 必需的。一个字符串表达式,它含有源应用程序所识别的命令。

说明:
string 的实际值根据源应用程序而改变。例如,Microsoft Excel 和 Microsoft Word for Windows 接受括在方括号 ([]) 中宏命令所组成的命令字符串。要查看源应用程序所接受的命令字符串,请查阅该应用程序的文档。

例:本示例建立一个 Microsoft Excel 的 DDE 链接,将一些值放置到一个新工作单的第一行的单元里,并按照这些值画图。LinkExecute 向 Microsoft Excel 发送激活工作单的命令,选择一些值并按照它们画图。要检验此示例,计算机中必须装有 Microsoft Excel 而且要在 Autoexec.bat 文件的路径中声明。将本例代码粘贴到一个带缺省名 Text1 的 TextBox 控件的窗体的声明部分,然后按 F5 键并单击该窗体。

Private Sub Form_Click ()
Dim Cmd, I, Q, Row, Z ' 声明变量。
Q = Chr(34) ' 定义引用标记。
' 创建一个含有 Microsoft Excel 宏指令的字串。
Cmd = "[ACTIVATE(" & Q &"SHEET1" & Q & ")]"
Cmd = Cmd & "[SELECT(" & Q & "R1C1:R5C2" & Q & ")]"
Cmd = Cmd & "[NEW(2,1)][ARRANGE.ALL()]"
If Text1.LinkMode = vbNone Then
Z = Shell("Excel", 4) ' 启动 Microsoft Excel。
Text1.LinkTopic = "Excel|Sheet1" ' 设置连接主题。
Text1.LinkItem = "R1C1" ' 设置连接项目。
Text1.LinkMode = vbLinkManual ' 设置连接模式。
End If
For I = 1 To 5
Row = I ' 定义行号。
Text1.LinkItem = "R" & Row & "C1" ' 设置连接项目。
Text1.Text = Chr(64 + I) ' 将值放置在 Text 中。
Text1.LinkPoke ' 将值放入单元。
Text1.LinkItem = "R" & Row & "C2" ' 设置连接项目。
Text1.Text = Row ' 将值放置在 Text 中。
Text1.LinkPoke ' 将值放入单元。
Next I
On Error Resume Next
Text1.LinkExecute Cmd ' 执行 Microsoft Excel 命令。
MsgBox "LinkExecute DDE demo with Microsoft Excel finished.", 64
End
End Sub

LinkPoke

在 DDE 对话过程中将 Label、PictureBox 或 TextBox 控件的内容传送给发送端应用程序。

语法:object.LinkPoke
说明:
object 是包含在 DDE 对话中作为接收端 的 Label、PictureBox 或 TextBox 的名称。如果 object 为 一个Label,则 LinkPoke 将 Caption 属性的内容传输到源端。如果 object 为一个 PictureBox,则 LinkPoke 将 Picture 属性的内容传送给源端。如果 object 为一个 TextBox,则 LinkPoke 将 Text 属性的内容传送给源端。

典型情况下,一次 DDE 对话的信息从源端向接收端流动。但是,LinkPoke 允许接收端对象给源端提供数据。并非所有的源应用程序都接受这种方法提供的数据,如果源应用程序不接受数据,则会有一个错误发生。

例:本示例建立一个 Microsoft Excel 的 DDE 链接,将一些值放置到一个新工作单的第一行的单元里,并按照这些值画图。LinkPoke 将画图需要的值发送到 Microsoft Excel 的工作单上。要检验此示例,计算机中必须装有 Microsoft Excel 而且要在 Autoexec.bat 文件的路径中声明。将本例代码粘贴到一个带缺省名 Text1 的 TextBox 控件的窗体的声明部分,然后按 F5 键并单击该窗体。

Private Sub Form_Click ()
Dim Cmd, I, Q, Row, Z ' 声明变量。
Q = Chr(34) ' 定义引用标记。
' 创建一个含有 Microsoft Excel 宏指令的字串。
Cmd = "[ACTIVATE(" & Q &"SHEET1" & Q & ")]"
Cmd = Cmd & "[SELECT(" & Q & "R1C1:R5C2" & Q & ")]"
Cmd = Cmd & "[NEW(2,1)][ARRANGE.ALL()]"
If Text1.LinkMode = vbNone Then
Z = Shell("Excel", 4) ' 启动Microsoft Excel。
Text1.LinkTopic = "Excel|Sheet1" ' 设置连接主题。
Text1.LinkItem = "R1C1" ' 设置连接项目。
Text1.LinkMode = vbLinkManual ' 设置连接模式。
End If
For I = 1 To 5
Row = I ' 定义行号。
Text1.LinkItem = "R" & Row & "C1" ' 设置连接项目。
Text1.Text = Chr(64 + I) ' 将值放置在 Text 中。
Text1.LinkPoke ' 将值放入单元。
Text1.LinkItem = "R" & Row & "C2" ' 设置连接项目。
Text1.Text = Row ' 将值放置在 Text 中。
Text1.LinkPoke ' 将值放入单元。
Next I
Text1.LinkExecute Cmd ' 执行 Microsoft Excel 命令。
On Error Resume Next
MsgBox "LinkPoke DDE demo with Microsoft Excel finished.", 64
End
End Sub

LinkRequest

在一次 DDE 对话中请求发送端应用程序更新 Label、PictureBox 或 TextBox 控件中的内容。

语法:object.LinkRequest
说明:
object 是包含在一次 DDE 对话中作为接收端的 Label、PictureBox 或 TextBox 的名称。LinkRequest 引起源应用程序将最当前的数据发送给 object,并且,如果 object 为 Label,则更新 Caption 属性设置,如果 object 为 PictureBox,则更新 Picture 属性设置,如果 object 为 TextBox,则更新 Text 属性设置。

如果 object 的 LinkMode 属性设置为自动( 1 或 vbLinkAutomatic),则源应用程序自动更新 object 而不需要 LinkRequest。如果 object 的 LinkMode 属性设置为手工(2 或 vbLinkManual),则只有使用 LinkRequest 时源应用程序才更新 object。如果 object 的 LinkMode 属性设置为通知 Notify( 3 或 vbLinkNotify),则源端通过调用 LinkNotify 事件通知接收端已更改数据。然后接收端必须使用 LinkRequest 更新数据。

例:本示例使用 LinkRequest 更新含有 Microsoft Excel 工作单中值的正文框的内容。要检验此示例,计算机上必需正在运行着 Microsoft Excel。将一些数据放到缺省工作单 (Sheet1.xls) 第一列开始的一些单元中。将本例代码粘贴到一个被称为 Text1 的 TextBox 控件的窗体的声明部分,然后按 F5 键并单击该窗体。

Private Sub Form_Click ()
If Text1.LinkMode = vbNone Then ' 测试连接模式。
Text1.LinkTopic = "Excel|Sheet1" ' 设置连接主题。
Text1.LinkItem = "R1C1" ' 设置连接项目。
Text1.LinkMode = vbLinkManual ' 设置连接模式。
Text1.LinkRequest ' 更新正文框内容。
Else
If Text1.LinkItem = "R1C1" Then
Text1.LinkItem = "R2C1"
Text1.LinkRequest ' 更新正文框内容。
Else
Text1.LinkItem = "R1C1"
Text1.LinkRequest ' 更新正文框内容。
End If
End If
End Sub

LinkSend

在一次 DDE 对话中将 PictureBox 控件的内容传输到的接收端应用程序。

语法:object.LinkSend
说明:
object 必须是 Form 对象中的 PictureBox,它是一次 DDE 对话中的发送端。

当其他一些应用程序与您的应用程序中的 Form 建立自动链接时,Visual Basic 在 Form 中的 TextBox 或 Label 内容改变时会通知它们。但是,当源 Form 中的 PictureBox 的 Pictur 属性设置更改时,Visual Basic 不会自动通知 DDE 接收端应用程序。由于图形的数据量可以非常大,而且由于在每个像素更改时都更新接收端应用程序意义不大,所以 Visual Basic 要求在 PictureBox 的内容更改时使用 LinkSend 方法显式地通知 DDE 的各接收端应用程序。
 

我在这里学编程 索引篇 共55页[1 2 3 4 5 6 7 >»<... 最后一页]