问题标签 [win32com]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1781 浏览

python - 使用 ADO 和 win32com 获取 SQL Server 消息

我目前正在尝试编写一个工具,使非计算机知识的用户可以很容易地备份 SQL Server 数据库。

为此,我希望使用 ADO、win32com 和 adodbapi 的有趣组合。目前,我可以轻松连接到服务器并发出BACKUP DATABASET-SQL 命令。

这可行,但是执行命令通常需要很长时间(尤其是在非常大的数据库上)。为此,我希望捕获和解析InfoMessage事件 ( MSDN ) 并使用它来显示百分比条/计数器。

这我也成功了,我现在陷入了最后的障碍,解析事件。MSDN文档说我应该在参数中传递一个错误错误对象pError。但是 win32com 传递给我一个PyIUnknown我不知道如何处理的对象。

以下是我到目前为止编写的代码:

任何人都可以从事件中提取信息性消息吗?

这是在VB中实现的(我认为)

对于这些消息之一的示例,启动 SQL Server Management Studio 并使用脚本运行备份(您可以使用备份对话框和左上角的脚本按钮生成脚本)。您会注意到,当您运行脚本时,消息框将填充完成百分比的消息。这些就是我想要的。

编辑:

下面是我用来询问传递给InfoMessage. 这是基于下面的答案,我把它放在这里以防其他人需要它。

0 投票
2 回答
1001 浏览

python - 没有使用 Python 和 win32com 获取所有 InfoMessage 事件

我目前正在尝试在运行命令InfoMessage时从 ADO(和 SQL 服务器)获取事件返回的百分比完成消息。(有关详细信息,BACKUP请参阅我之前的问题)。

我已经设法连接到 SQL 服务器并发出 SQL 命令,然后事件获取事件。但是,当我执行BACKUP命令时,cmd.Execute方法会阻塞,直到备份完成。

但在此期间,我将收到一个事件 InfoMessage调用(其中会显示“1% 完成”之类的消息),之后我将不再收到任何事件。

我已经尝试过使用存储过程,其中存储过程打印 3 条消息,即使在这里我也会得到第一条消息,没有别的。

我怀疑我需要 call pythoncom.PumpWaitingMessages(),但因为cmd.Execute()call 阻塞了我从来没有得到任何有用的东西。

任何人都可以计算出如何获得更多,而不仅仅是一个InfoMessage事件。

以下是我目前正在使用的代码:

0 投票
1 回答
488 浏览

python - 简单的音乐播放器无法播放

我正在尝试编写一个简单的音乐播放器。由于某种原因,在我选择了一个 mp3 文件并点击播放按钮后,没有声音出现。没有错误,什么都没有。它似乎直接跳过了命令。任何人都知道它为什么会这样做?如果有更好的用 python 播放音乐的方法,它是什么?

0 投票
13 回答
136291 浏览

python - .doc 到 pdf 使用 python

我的任务是将大量 .doc 文件转换为 .pdf。我的主管希望我这样做的唯一方法是通过 MSWord 2010。我知道我应该能够使用 python COM 自动化来自动化它。唯一的问题是我不知道如何以及从哪里开始。我尝试搜索一些教程,但找不到任何教程(也许我可能有,但我不知道我在寻找什么)。

现在我正在阅读这个。不知道这会有多大用处。

0 投票
4 回答
5410 浏览

python - Python Win32,如何将 XLS 保存为 CSV?

我正在使用 win32com 加载 .xlsx,并希望在完成后将结果另存为 csv。

给了我一个带有 csv 扩展名的 xlsx 文件。如何保存为实际的 CSV?

0 投票
2 回答
811 浏览

python - 如何使用 Python win32com 中的所有默认加载项运行 excel

这会启动 Excel,但无论出于何种原因,都没有加载任何插件。

如果 Excel 已经加载,插件将保持加载状态并且可以访问。

请指教。

上下文:我正在从使用专有插件进行调用的工作表中抓取数据。如果插件没有加载,我需要抓取的所有单元格都会抛出错误。

0 投票
1 回答
2696 浏览

c - Win32 PrintDlg、PrintDlgEx、崩溃和古怪

我的任务是解决以下问题:当调用PrintDlg()函数时,我的应用程序在 64 位机器上运行时崩溃。

在挖掘和拉扯头发之后,我决定最好的解决方案是将 PrintDlg() 的原始调用替换为其更大的兄弟PrintDlgEx()

这样做可以解决一个问题(它不再崩溃!),但会导致另一个问题。当我执行代码时,它没有显示打印对话框,只是返回一个成功代码,并为我提供默认打印机的所有信息。我需要这个功能来显示标准的“打印设置”窗口,我不知道它是如何实现的。下面显示的是我试图用来显示我的对话框的示例值。

有什么想法吗?提前致谢。

0 投票
4 回答
69481 浏览

python - python win32 COM关闭excel工作簿

我在 COM 中打开了几个不同的工作簿(excel xlsx 格式),并把它们弄乱了。随着程序的进展,我希望关闭一个特定的工作簿,但保持其余的打开。

如何关闭一个工作簿?(而不是整个 excel 应用程序)

0 投票
1 回答
5499 浏览

python - Python - 带有 win32com 的额外 Excel 图表系列

我正在为作业编写一些代码,我需要在 Excel 中创建一个简单的柱形图。今天下午我找到了win32com(顺便说一句很棒的工具),但是我一直在为缺乏关于它的文档而苦恼,或者我没有运气找到它^^

我正在玩图表,我想我已经设法做我想做的事,但有一点例外:我编写的函数总是创建 2 个系列的列。

这就是我所拥有的:

我在图表中创建了一个新系列,其中包含我需要的所有信息。但是,当我运行脚本时,我最终得到一个包含 4 列的 Excel 图表,具有相同的信息(成对)。我已尽我所能,但我只是找不到在 X 轴上创建第二系列值的原因......

我非常感谢任何帮助^^谢谢!

0 投票
2 回答
3002 浏览

python - 由 pywin32 生成的 python 可执行文件中的 dll 加载错误

我使用 py2exe 和 64 位 python 解释器和 32 位 python 解释器创建了 python 可执行文件。

在我的程序中,我使用了 module pywin32 com,因此我在创建可执行文件之前 dl'ed 并安装了该程序的 64 位和 32 位版本。

64位的exe工作正常,但32位的有以下问题:

我通过直接运行源代码尝试了这两个版本,即python program.py并且C:\python_32\python.exe program.py都可以正常工作。

注意我在 64 位 windows 7 计算机上测试了 64 位 exe,在 32 位 windows XP 计算机上测试了 32 位 exe。