从Powerpoint在VBA中打开Excel文件

Ele*_*ngs 7 powerpoint-vba

我试图在Powerpoint 2010中使用VBA在以下代码的帮助下打开Excel文件.

Private Sub CommandButton1_Click()
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = True

xlApp.Workbooks.Open "C:\lol\Book1.xlsx", True, False
Set xlApp = Nothing

Range("A8").Value = "Hello"
End
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误.

编译错误用户定义的类型未定义.

我错过了什么.任何人都可以共享示例代码片段来打开excel文件,更改单元格值并使用VBA在Powerpoint 2007和2010中关闭Excel文件.

我已经搜索了很多并尝试了不同的代码,但每次都得到相同的错误.:(

提前致谢.:)

小智 7

您是否添加了对Excel对象模型的引用?这将节省您必须使用后期绑定对象(并且您在编码时获得了Intellisense帮助的好处).

您需要转到工具 - >参考并检查"Microsoft Excel vx对象库"(我认为该数字会根据您使用的办公室版本而变化.

如果你这样做,你的代码应该工作,你也应该删除

CreateObject("Excel.Application") 
Run Code Online (Sandbox Code Playgroud)

换行并替换它

Set xlApp = new Excel.Application
Run Code Online (Sandbox Code Playgroud)

并移动

Set xlApp = nothing
Run Code Online (Sandbox Code Playgroud)

直到你的子程序结束.

你的其余代码对我来说很好.


小智 5

后期绑定代码将是这样

Private Sub test()
Dim xlApp As Object
Dim xlWorkBook As Object

Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = True
Set xlWorkbook = xlApp.Workbooks.Open("C:\lol\Book1.xlsx", True, False)
xlWorkbook.sheets(1).Range("A8").Value = "Hello"

Set xlApp = Nothing
Set xlWorkbook = Nothing


End Sub
Run Code Online (Sandbox Code Playgroud)

最好使用早期绑定。