64bit的python及32bit的office2010情况下pywin32无法操作access的解决方法

心血来潮,想试一试python是如何通过pywin32来操作access的,顺便了解一下pywin32的系统配置是win7 64bit,安装的office2010 32bit,python是64bit。mdb是老早的一个废弃数据库。下面是一部分运行代码:
import win32com.client

connection = win32com.client.gencache.EnsureDispatch('ADODB.Connection')
DSN = 'PROVIDER = Microsoft.ACE.OLEDB.12.0;DATA SOURCE = G:/DataBase1.mdb;'</span>
connection.Open(DSN)

但是就在connection.Open()这一步就提示error:

com_error: (-2147352567, 'Exception occurred.', (0, u'ADODB.Connection', u'Provider canno t be found. It may not be properly installed.', u'C:\\Windows\\HELP\\ADO270.CHM', 1240655, -21468245 82), None)


com_error: (-2147352567, '发生意外。', (0, 'ADODB.Connection', '未找到提供程序。该程序可能未正确安装。', 'C:\\Windows\\HELP\\ADO270.CHM', 1240655, -2146824582), None)

提示说明缺少acces_engine,于是去 微软官网上下载AccessDatabaseEngine_X64.exe。但是直接安装会提示:


导致AccessDatabaseEngine_X64.exe不能安装!!解决的方法就是:

运行cmd,然后一路cd到存放AccessDatabaseEngine_X64.exe的文件夹,然后运行 AccessDatabaseEngine_X64.exe /passive。成功搞定:


再次运行python的中相关代码。同样搞定!

不过,还不能高兴!如果此时打开任何一个doc或其他office文档,会提示要重新安装office。解决的方法就是regedit打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths,然后删除mso.dll。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用pywin32库中的win32com模块来实现这个功能。下面是一个示例代码,用于点击Word的“视图”选项卡: ```python import win32com.client # 创建Word应用程序对象 word = win32com.client.Dispatch("Word.Application") # 显示Word窗口 word.Visible = True # 获取Word窗口的CommandBars对象 command_bars = word.CommandBars # 找到视图选项卡所在的CommandBar对象 view_bar = command_bars.FindControls(ID=299) # 模拟点击视图选项卡 view_bar.ExecuteMso("ViewTabView") # 关闭Word应用程序 word.Quit() ``` 在这个示例代码中,我们首先创建了一个Word应用程序对象,并将其设置为可见。然后,我们获取了Word窗口的CommandBars对象,并使用FindControls方法找到了视图选项卡所在的CommandBar对象。最后,我们使用ExecuteMso方法模拟了点击视图选项卡的操作。 注意,在执行完操作后,我们需要调用Word应用程序对象的Quit方法来关闭Word应用程序。 ### 回答2: Python可以使用pywin32库实现点击Office Word功能区中的"视图"选项。 首先,我们需要导入pywin32库中的相关模块: ```python import win32com.client as win32 ``` 然后,我们需要创建一个Word应用程序对象并启动Word: ```python word = win32.gencache.EnsureDispatch('Word.Application') word.Visible = True ``` 接下来,我们可以获取Word应用程序对象中的Ribbon对象,并找到"视图"选项卡: ```python ribbon = word.CommandBars.FindControl(Type=1, Id=659) ``` 这里的Id=659表示"视图"选项卡在Office Word功能区中的唯一标识。 然后,我们可以调用Ribbon对象的ExecuteMso方法来模拟点击"视图"选项卡: ```python ribbon.ExecuteMso('ViewTabView') ``` 这里的'ViewTabView'表示"视图"选项卡中的"视图"命令。 最后,别忘了关闭Word应用程序对象: ```python word.Quit() ``` 完整的代码如下: ```python import win32com.client as win32 word = win32.gencache.EnsureDispatch('Word.Application') word.Visible = True ribbon = word.CommandBars.FindControl(Type=1, Id=659) ribbon.ExecuteMso('ViewTabView') word.Quit() ``` 这样,我们就可以使用Pythonpywin32库来点击Office Word功能区中的"视图"选项。 ### 回答3: 在Python中使用pywin32模块点击Office Word功能区中的"视图"按钮,可以通过以下步骤完成: 1. 首先,需要导入`win32com.client`模块以及其他所需的模块: ```python import win32com.client as win32 import time ``` 2. 创建并打开Word应用程序: ```python word = win32.Dispatch("Word.Application") word.Visible = True ``` 3. 获取活动文档(也可以打开指定的文档): ```python doc = word.ActiveDocument ``` 4. 获取Word应用程序的命令栏和视图菜单条: ```python command_bar = word.CommandBars("Menu Bar") view_menu_bar = command_bar.Controls("视图") ``` 5. 找到"视图"菜单的下拉项目(通常是一个下箭头按钮): ```python view_drop_down = view_menu_bar.Controls(1) ``` 6. 单击下拉按钮以展开视图菜单: ```python view_drop_down.Execute() ``` 7. 在展开的视图菜单中找到要点击的功能区选项,例如"页眉页脚": ```python view_option = view_menu_bar.Controls("页眉页脚") ``` 8. 单击功能区选项: ```python view_option.Execute() ``` 9. 最后,关闭Word应用程序(根据需要): ```python word.Quit() ``` 通过以上步骤,可以在Python中使用pywin32模块点击Office Word功能区中的"视图"按钮,并通过执行视图菜单中的某个功能区选项来实现相关操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值