yangyujuan 发表于 2016-4-12 13:36:35

求段代码:巧用ppt中VBA调用excel中的VBA

我想在ppt下运行excel下的一段代码。
具体是:我在ppt中后台打开一excel文件,想运行workbooks(“课堂答问记分系统.xlsm”).sheets("名单")中两个按钮相对应的程序,想在ppt中写一句代码,作用是点击按钮1和按钮,让其对应的程序在后台运行,然后再在另一表格中提取该程序运行后的数据。
具体是:
我若要在ppt中调用这个过程,该怎样,请指出:
Sub 初始化() 'OnSlideShowPageChange
'If Len(TextBox1.Text) = 0 Then
TextBox1.Text = ""
Dim wbXL As Excel.Workbook
Set xlApp = New Excel.Application
xlApp.DisplayAlerts = False
Set wbXL = xlApp.Workbooks.Open(ActivePresentation.Path & "课堂答问记分系统.xlsm")
call workbooks(“课堂答问记分系统.xlsm”).sheets("名单").按钮1_Click‘能这样吗调用吗?
call workbooks(“课堂答问记分系统.xlsm”).sheets("名单").按钮2_Click‘能这样吗调用吗?
TextBox1.Text = Excel.Workbooks("课堂答问记分系统.xlsm").Sheets("名单").Range("B1").Value
s = TextBox1.Text
xm = Split(s, ";")
'If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 Then
Me.ComboBox1.List = xm
Me.ComboBox2.List = Array("0.5", "1", "1.5", "2", "2.5", "3", "3.5", "4", "5", "6", "7", "8", "9", "10")
'End If
wbXL.Save
wbXL.Close
xlApp.Quit
Set wbXL = Nothing
Set xlApp = Nothing
If Not (xlApp Is Nothing) Then
xlApp.Quit
End If
'End If
End Sub
这种写法,没有相应的效果,请问大侠该怎样写才合适?

tuoeroo 发表于 2016-4-12 16:19:09

Sub 初始化()
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open ActivePresentation.Path & "课堂答问记分系统.xlsm"
xlApp.Run "需要运行的宏名称"
xlApp.Visible = True
。。。。。。。
End Sub

user_qnttymjc 发表于 2016-4-12 16:28:39

谢谢。
xlApp.Run "需要运行的宏名称"
xlApp.Visible = True
这两句很关键,是吗?能不能操控后台打开的EXCEl中的VBA呢?
页: [1]
查看完整版本: 求段代码:巧用ppt中VBA调用excel中的VBA