擅长:python、mysql、java
<p>此属性错误的主要原因是COM服务器已从后期绑定(动态)转换为早期绑定(静态)。</p>
<ul>
<li>在后期绑定中,每当调用方法时,都会查询对象以获取该方法,如果成功,则可以进行调用。</li>
<li>在早期绑定中,对象模型的信息是根据对象调用提供的类型信息预先确定的。早期绑定利用MakePy。而且,早期绑定是区分大小写的。</li>
</ul>
<p>有两种方法可以解决此问题:</p>
<ol>
<li><p>使用动态模块强制代码以面向后期绑定的方式工作。示例使用:</p>
<pre><code>"win32com.client.dynamic.Dispatch()" instead of "win32com.client.Dispatch()"
</code></pre></li>
<li><p>使用对camelcase敏感的关键字进行面向早期绑定的方式。示例使用:</p>
<pre><code>"excel.Visible()" instead of "excel.VISIBLE()" or "excel.visible()"
</code></pre></li>
</ol>
<p>试一试</p>
<pre><code>"win32com.client.dynamic.Dispatch()" instead of "win32com.client.gencache.EnsureDispatch"
</code></pre>
<p>由于win32com.client.gencache.EnsureDispatch强制执行MakePy进程。</p>