excel - PowerPoint VBA:从已打开的 Excel 文件中获取数据
问题描述
通过单击 PowerPoint 中的按钮,我想从当前打开的 Excel 工作簿(单击按钮时打开的工作簿)中获取一些单元格值。
在 PowerPoint VBA 中,启用了 Microsoft Excel 16.0 对象库。
但是运行:
sss = ActiveWorkbook.Sheets(1).Range("A1")
MsgBox sss
给出这个错误:
Run-time error '91': Object variable or With block variable not set
如何从活动工作簿中请求单元格值?
解决方案
您需要限定您的工作簿参考。首先,GetObject
正如@Cindy Meister 所建议的那样,用于获取现有的 Excel 实例。
Dim excelApplication As Excel.Application
Set excelApplication = GetObject(, "Excel.Application")
但是,对于后期绑定,您可以放弃对 Microsoft Excel 对象库的引用,并将应用程序变量声明为Object
.
Dim excelApplication As Object
Set excelApplication = GetObject(, "Excel.Application")
然后,按如下方式限定您的工作簿参考...
Dim ss As String
ss = excelApplication.ActiveWorkbook.Sheets(1).Range("A1").Value
所以你会有以下...
Dim excelApplication As Object
Set excelApplication = GetObject(, "Excel.Application")
Dim ss As String
ss = excelApplication.ActiveWorkbook.Sheets(1).Range("A1").Value
MsgBox ss, vbInformation
Set excelApplication = Nothing
推荐阅读
- c# - C# WinForms - 检测鼠标指针移动到窗体或窗口左下角的事件
- asp.net-core - 在 Asp.Net Core 中使用实体框架从相关表中按 ID 显示/获取视图中的值
- angular - ngrx 适配器选择器语法的含义是什么?
- php - PHP 通过数组搜索并添加相似的值
- python - gi.overrides.GdkPixbuf.Pixbuf 到 Gtk.Widget
- java - 如何使用 Undertow 在 Spring-boot 中取消未完成的、长时间运行的请求?
- r - 可靠地检索分位数函数的倒数
- excel-formula - 计算通过匹配创建的范围内的文本字符串
- c# - 如何固定向右和向左移动?
- java - Mandelbrot 集的可视化表示