<p>我想你可能走运了。在</p>
<p><a href="http://mail.python.org/pipermail/python-win32/2012-April/012207.html" rel="nofollow">According to the author of excelRTDServer.py in a recent python-win32 thread</a>:</p>
<p><sup>响应的消息描述了您的<em>精确</em>问题,而且是最近的问题,所以您可能已经直接得到了此信息,但万一您没有…。</sup></p>
<blockquote>
<p>I fear that things with IRTDUpdateEvent have changed with recent versions
of excel (since Excel 2007? I guess that's not so 'recent' anymore...).</p>
<p>While hunting around for news of interface changes, I came across this
thread in a java forum:</p>
<p><a href="http://www.nevaobject.com/phpbb3/viewtopic.php?t=516" rel="nofollow">http://www.nevaobject.com/phpbb3/viewtopic.php?t=516</a></p>
<p>The part that worries me is this comment:</p>
<blockquote>
<p>"Apparently in Excel 12 (Excel 2007) the RTD callback object that
implements dual IRTDUpdateEvent interface throws exception (generic COM
exception 0x80020009) when is called via IDispatch. If you use v-table
binding the call to UpdateNotify succeeds. I don't really know whether it
is a bug in Excel 12 or a feature."</p>
</blockquote>
<p>到目前为止,我还不能根据MSDN的信息来证实这一点。。。
但如果这是真的,它确实能解释人们看到的问题。很多老人
web上的示例,以及pywin32+makepy将此接口视为IDispatch,
并相应地包装起来。在</p>
<p>我不认为我们现在能用pywin32解决这个问题。我的
据了解,它依赖于IDispatch支持。可能需要看看
通信类型(http://starship.python.net/crew/theller/comtypes/)包装
(新的?)IRTDUpdateEvent对象,或者可能是一个C扩展。:(</p>
</blockquote>