[英]How to get a local shape name from a BeforeShapeDelete event in Visio
[英]detect event on IE from visio
我可以在IE页面上的按钮和visio事件之间建立链接吗? (例如:仅通过单击IE页面上的按钮即可更改形状的颜色)
是的,您应该查看jquery的入门文档。
html:
<button id="mybutton" />
<div id="myshape">blabla</div>
javascript:
$('#mybutton').click(function() {
$('#myshape').css('background-color', '#555555');
});
除非您也可以访问IE中的HTML内容,否则并不是很容易,但是您可以使用VBA类,该类实现“ withevents”私有变量来捕获对页面上特定元素的引用,并且具有事件处理程序响应基于浏览器的事件。 例如。 在“ clsHTML”类中:
Private WithEvents el As MSHTML.HTMLInputElement
Public Sub SetElement(t As MSHTML.HTMLInputElement)
Set el = t
End Sub
Private Function el_onchange() As Boolean
Debug.Print "captured change: value = " & el.Value
End Function
在其他代码中,创建该类的实例,并使用对IE中页面上元素的引用来调用“ SetElement”:
Dim objHTML As clsHTML 'global variable
Sub TestEvents()
Dim IE As Object
'set up your IE reference....
Set objHTML = New clsHTML
objHTML.SetElement IE.document.getElementById("tester2")
Debug.Print "set capture"
End Sub
在这种情况下,您正在文本框中捕获“更改”事件,但是其他元素将公开不同的事件。
编辑:我在Excel中测试了此,但我假设类似的东西也将在Visio中工作。
Edit2:在Visio中创建一个表单来处理此问题可能比坚持自动化IE更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.