标签:
杂谈 |
PowerPoint中利用VBA调用、插入、引用ActiveX控件方法举例
笔者在实验数据处理课件中利用ActiveX控件与VBA达到了导入实验数据、处理实验数据和导出实验结果的目的。以下简要叙述导入实验数据的制作过程。
1、打开PowerPoint在新建的演示文稿插入两个空白幻灯片;
2、单击 “控件工具箱”中要添加的“命令按钮”图标,在第一个空白幻灯片输入有关实验数据处理的文字并在合适位置插入一个命令按钮;
3、选定刚插入的命令按钮后,单击 “控件工具箱”中“属性”图标,在caption属性值改为“导入实验数据”,即命名为“导入实验数据”命令按钮;
4、执行“工具/宏/ Visual Basic编辑器”菜单命令,在打开的Visual Basic编辑器中输入以下宏代码:
(1)定义变量
Public setpxp As New ADODB.Recordset
Public cnnpxp As New ADODB.Connection
Dim constring As String……
(2)调用“输入框”和 “消息框”
yourName = InputBox("请输入姓名(学号)", "实验数据处理课件(合金熔点的确定)")
x = MsgBox("你的姓名(学号): " & yourName, 0, "实验数据处理课件(合金熔点的确定)")
If x = 1 And yourName
<> ""
Then
SlideShowWindows(Index:=1).View.GotoSlide
2
End If
(3)插入一个通用对话框
单击“控件工具箱”中的“其他控件”按钮,在打开的对话框中选择Microsoft Common Dialog Control Version 6.0项,插入在第一个幻灯片中,其宏代码为:
CommonDialog1.InitDir = "c:\temp"
CommonDialog1.Filter = "文本文件|*.mdb"
CommonDialog1.ShowOpen
constring =
"provider=microsoft.jet.oledb.4.0;" & "da
cnnpxp.Open
constring
setpxp.Open "pxp", cnnpxp,
adOpenStatic
row = 2
With setpxp
Do While Not
.EOF
sy(row, 1) =
setpxp.Fields(0)
sy(row, 2) = setpxp.Fields(1)
sy(row, 3) = setpxp.Fields(2)
row = row +
1
.MoveNext
Loop
row = row –
1
If .EOF Then
.Close '数据导入完成后关闭数据库Recordset对象
Set setpxp = Nothing释放内存空间
End If
End With
(4)在第二个幻灯片Slides(2)中插入的表格并自动导入实验数据
col =
3
ActivePresentation.Slides(2).Shapes.title.TextFrame.TextRange
= "自动导入实验数据"
Set tb51 =
ActivePresentation.Slides(2).Shapes.AddTable(row, col, 250, 100,
430,
80).Table
ActivePresentation.Slides(2).Shapes(1).Fill.ForeColor.RGB = RGB(255, 230, 0)
tb51.Cell(1,
1).Shape.TextFrame.TextRange.Text = "序号"
tb51.Cell(1, 2).Shape.TextFrame.TextRange.Text = "合金含铝量(%)"
tb51.Cell(1, 3).Shape.TextFrame.TextRange.Text = "合金熔点(摄氏度)"
For x = 2 To
row
For y = 1 To 3
If y = 1 Then
tb51.Cell(x, y).Shape.TextFrame.TextRange.Text = Format$(sy(x, y), "##00")
Else
tb51.Cell(x, y).Shape.TextFrame.TextRange.Text = Format$(sy(x, y), "######0.00")
End If
Next y
Next x
cnnpxp.Close '关闭连接
在PowerPoint中利用VBA对Microsoft的ActiveX数据对象(ADO)的引用能使PowerPoint链接到外部数据库并进行通信,这一功能克服了PowerPoint的不足,加强了PowerPoint与其它应用程序(尤其是Microsoft Office中各应用程序)的数据通信和数据交换,极大地提升了PowerPoint的交互功能和多媒体课件的开发能力。利用VBA宏代码编写程序,在PowerPoint课件中对导入的实验数据进行处理,显示处理结果后及结合VBA与ActiveX控件将处理结果输出到文本文件。
(2)调用“输入框”和 “消息框”
yourName = InputBox("请输入姓名(学号)", "实验数据处理课件(合金熔点的确定)")
x = MsgBox("你的姓名(学号): " & yourName, 0, "实验数据处理课件(合金熔点的确定)")
If x = 1 And yourName
<> ""
Then
SlideShowWindows(Index:=1).View.GotoSlide
2
End If
这一段中,调用“输入框”和 “消息框”------------调用是什么意思,如何调用呀
(用inputbox是出现输入框,用msgbox的结果是出现提示框。也就是说调用这两个函数.)