Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
Vba Visio文本框-制表符/输入以前进_Vba_Winforms_Visio_Designmode_Shapesheet - Fatal编程技术网

Vba Visio文本框-制表符/输入以前进

Vba Visio文本框-制表符/输入以前进,vba,winforms,visio,designmode,shapesheet,Vba,Winforms,Visio,Designmode,Shapesheet,我正在尝试创建几个文本框,这些文本框分组在一个Mastershape中,可以按tab键按顺序切换到下一个文本框,或者按enter键退出该序列 我想用主控形状的shapesheet来做这件事,但我认为它会比这更复杂 我想我可能必须使用shapesheet中的Text事件来调用函数,对用户击键进行排序,然后在必要时将所选内容移动到下一个文本框 使用WinForm文本框会更容易吗?我已经尝试过了,但是mastershape模板在分组和将所有内容保持在一起时遇到了问题 提前谢谢 我有一个商业VBA软件,

我正在尝试创建几个文本框,这些文本框分组在一个Mastershape中,可以按tab键按顺序切换到下一个文本框,或者按enter键退出该序列

我想用主控形状的shapesheet来做这件事,但我认为它会比这更复杂

我想我可能必须使用shapesheet中的Text事件来调用函数,对用户击键进行排序,然后在必要时将所选内容移动到下一个文本框

使用WinForm文本框会更容易吗?我已经尝试过了,但是mastershape模板在分组和将所有内容保持在一起时遇到了问题


提前谢谢

我有一个商业VBA软件,我写的,我们使用的文本事件,如你所说。我们寻找一个CR或TAB字符,如果我们发现我们选择了下一个形状,选择它,然后调用Application.DoCmd(visCmdTextEditState)很高兴知道!你如何找到下一个形状?到目前为止,我认为我应该抓住主控形状的名称并在主控形状中找到下一个形状,但我不清楚如何在代码中做到这一点。我们的代码使用邻近性,因此我们使用shape.spatialneights方法来查找与当前形状接触的形状。要查找该主控形状的下一个形状,您可以从当前形状的索引+1开始,在页面上的形状中建立索引,并在找到具有相同主控形状的另一个形状时停止。如果我知道下一步要选择的主控形状名和文本框名,我如何在代码中将焦点转移到该形状?我很难弄明白,你只需要做Application.ActiveWindow.discelall,然后Application.ActiveWindow.Select ShpObj,visSelect。其中ShpObj是要将焦点转移到的形状