Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
EXCEL VBA:激活自选图形图形的按钮_Excel_Vba - Fatal编程技术网

EXCEL VBA:激活自选图形图形的按钮

EXCEL VBA:激活自选图形图形的按钮,excel,vba,Excel,Vba,我卡住了。我到处找,到处找。我找不到解决办法 是否可以通过表单控制按钮激活自选图形对象中的线条工具 我知道如何通过宏从固定位置绘制直线,但是我希望用户绘制自己的直线 ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 88.8, 447.6, 168.6, 480.6 _ ).Select 是否有一种方法可以激活绘图工具,但不实际绘制它,并允许用户自己完成其余的过程 提前谢谢大家, 蒂比2007年之前,一切都是命令按钮,带有ID。

我卡住了。我到处找,到处找。我找不到解决办法

是否可以通过表单控制按钮激活自选图形对象中的线条工具

我知道如何通过宏从固定位置绘制直线,但是我希望用户绘制自己的直线

ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 88.8, 447.6, 168.6, 480.6 _
    ).Select
是否有一种方法可以激活绘图工具,但不实际绘制它,并允许用户自己完成其余的过程

提前谢谢大家,


蒂比

2007年之前,一切都是
命令按钮
,带有
ID
。如果你掌握了
命令按钮
,你可以调用它的
执行
方法

Office2007抛弃了命令栏,引入了Ribbon。有些命令栏仍然可用,您可以像以前一样调用它们,但据我所知,没有与“形状”或“连接器”远程相关的
CommandBarButton

我正在使用这种方法:

Public Sub FindCmdBarControl(ByVal name As String)
    Dim cmdbar As CommandBar
    For Each cmdbar In Application.CommandBars
        Dim ctrl As CommandBarControl
        For Each ctrl In cmdbar.Controls
            If ctrl.TooltipText Like "*" & name & "*" Or ctrl.Caption Like "*" & name & "*" Then
                Debug.Print cmdbar.name, ctrl.Caption, ctrl.TooltipText, ctrl.ID
            End If
        Next
    Next
End Sub
…但运行
FindCmdBarControl“line”
会产生以下输出:

格式化&下划线&下划线(Ctrl+U)115
电池Sp和arklines 31623
系列添加T&rendline。。。添加渲染线(&R)。。。914
格式化数据系列添加格式线(&R)。。。添加渲染线(&R)。。。914
列表范围弹出式Sp和arklines 31623
无和线插入线闪烁18927
无和列插入列闪烁18928
零和赢家/输家插入赢家/输家亮片18929
无编辑&单个迷你图的数据。。。编辑单个迷你图的数据(&s)。。。19223
Nil&Group精选Sparklines 19226
无&取消组合取消组合选定的迷你图19227
无&清除所选迷你图&清除所选迷你图19229
Nil C&lear选定的气泡组C&lear选定的气泡组19230
无隐藏单元格(&H)&空单元格。。。闪烁隐藏和空单元格19224
零颜色和更多颜色。。。更多闪亮色彩19451
零自定义和重量。。。Sparkline定制重量19453
零行转换为线闪烁20450(&L)
零列转换为列闪烁20451(&C)
零和赢/亏转换为赢/亏闪20452
零颜色和更多颜色。。。更多亮片负点颜色20473
零颜色和更多颜色。。。更多闪烁标记颜色20474
零颜色和更多颜色。。。更多闪粉高点颜色20475
零颜色和更多颜色。。。更多亮片低点颜色20476
零颜色和更多颜色。。。更多闪亮第一点颜色20477
零颜色和更多颜色。。。更多闪亮最后一点颜色20478
线条颜色&更多轮廓颜色&更多的轮廓颜色。。。1052
内置菜单、组和大纲30032
因此,假设您要调用
&Underline
命令(ID 115),可以执行以下操作:

Application.CommandBars("Formatting").FindControl(ID:=115).Execute

运行
FindCmdBarControl“connector”
不会产生任何结果,我也没有主意了。查看是否可以找到要查找的命令ID。。。也就是说,功能区中已经有一个内置按钮,它可以完全满足您的需要(让用户绘制一个连接器).

非常感谢您的回复。我已设法在连接器中找到ID

Application.CommandBars("Connectors").FindControl(ID:=1042).Execute

只需指出正确的ID:

Commandbar=“绘图”

Controlname=“&Line”


ID=130

好的。。。它似乎没有
命令按钮。在2007年之前可能已经有了。