Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerpoint VBA:是否允许用户使用鼠标/键盘在Excel中选择范围?_Excel_Vba_Powerpoint_Selection - Fatal编程技术网

Powerpoint VBA:是否允许用户使用鼠标/键盘在Excel中选择范围?

Powerpoint VBA:是否允许用户使用鼠标/键盘在Excel中选择范围?,excel,vba,powerpoint,selection,Excel,Vba,Powerpoint,Selection,在excel中,用户可以使用鼠标或键盘(例如,下图,或在ENTER模式下键入公式并继续选择单元格区域时)动态选择单元格区域: 有人知道这样的功能是否可以从Powerpoint宏/加载项调用吗?基本上,我希望Powerpoint中有一段代码,生成类似的对话框,允许用户直接选择excel电子表格中的单元格范围,并让PPT宏记录该范围 谢谢大家! 下面是一个使用GetObject 注意:以模式打开应用程序.InputBox。不能在工作簿中使用它 Option Explicit Sub GetAdd

在excel中,用户可以使用鼠标或键盘(例如,下图,或在ENTER模式下键入公式并继续选择单元格区域时)动态选择单元格区域:

有人知道这样的功能是否可以从Powerpoint宏/加载项调用吗?基本上,我希望Powerpoint中有一段代码,生成类似的对话框,允许用户直接选择excel电子表格中的单元格范围,并让PPT宏记录该范围


谢谢大家!

下面是一个使用
GetObject

注意:以模式打开
应用程序.InputBox
。不能在工作簿中使用它

Option Explicit

Sub GetAddressFromExcel()
    Dim oXLApp As Object
    Dim Ret As Object

    '~~> Establish an EXCEL application object
    Set oXLApp = GetObject(, "Excel.Application")

    '~~> Show Excel
    oXLApp.Visible = True

    If oXLApp.Workbooks.Count = 0 Then
        oXLApp.Workbooks.Add
    End If

    On Error Resume Next
    Set Ret = oXLApp.InputBox("Please select Excel Range", Type:=8)
    On Error GoTo 0

    If Not Ret Is Nothing Then MsgBox Ret.Address

    '~~> CLEANUP
    oXLApp.Quit
    Set oXLApp = Nothing
End Sub

到目前为止你试过什么?这是在Windows(对话框标题栏建议是)还是在Mac上?它必须是跨平台兼容的吗?这在windows中。不确定您所说的跨平台兼容是什么意思。。。?只需要它在Windows7中的ppt和excel之间工作。我在PPT中尝试了以下代码,但不起作用(可能在Excel中工作,但需要在PPT中创建对话框,因为这是一个PPT宏)Set ExcelRange=Excel.application.InputBox(提示:=“请用鼠标选择要加粗的区域。”,标题:=“指定范围”,类型:=8)也许您可以在Powerpoint中显示如何调用上述内容(编辑您的问题,不要在注释中添加代码)。另外,我建议您查看右侧的链接
-->
;例如,“从Powerpoint在VBA中打开Excel文件”有一些有用的指针。是的,这是可能的,但为此,您必须连接到现有的Excel应用程序。或者,如果没有打开Excel,请创建一个新的Excel并使用该实例。这很有效!谢谢悉达思!我认为我的原始代码不起作用的原因是它没有使用GetObject方法,而是使用了CreateObject。这太棒了!您可以使用createobject,但只能在没有其他excel实例打开时使用。不确定是否会看到此注释,但您知道是否有方法返回用户通过此输入框选择的任何单元格范围的工作表名称或编号?inputbox应以“A1:B2”或其他格式返回地址,但是否可以同时返回单元格范围所在的工作表?
MsgBox Ret.Parent.Name
将提供工作表名称:)