Tag: win32com

用python保存已经打开的Excel窗口

我一直有问题find这个答案。 我目前正在使用win32com,但它是非常强大的,我不知道如何挖掘已打开的Excel文件。 没有替代 ; 一个外部脚本打开Excel并写入数据,它不在硬盘上

使用Python win32com将整个Excel工作表复制到新的工作表中

我尝试打开一个名为“N11 Result.xlsx”的现有工作簿。 复制整个工作表'Sheet1'(将其重命名为'Build with Python')并粘贴到同一工作簿中的新工作表(名为'Annual')。 我认为我的代码的最后一行不起作用…任何帮助将有所帮助。 import os,sys sys.path.append(r"""U:\Programming\Python\Python Manipulate Excel""") work_dir=r"""U:\Programming\Python\Python Manipulate Excel""" file_name='N11 Result.xlsx' import win32com.client excel = win32com.client.Dispatch('Excel.Application') excel.Visible = True wb = excel.Workbooks.Open(work_dir+'\\'+file_name) ws = wb.Worksheets('Sheet1') ws.Name = 'Built with Python' wb.Worksheets("Built with Python").Copy(before=wb.Worksheets("Annual")) excel.Application.Quit() 出现的错误信息将是 Traceback(最近调用的最后一个):在wb.Worksheets(“Built with Python”)中的第17行的文件“U:\ Programming \ Python \ Python Manipulate Excel \ Test_createExcel_01.py”。复制(before = wb.Worksheets(“年)“))在调用 ret […]

用COM创build新的Excel进程(pywin32)

我正在尝试使用COM / pywin32来创build一个不同于当前正在运行的自治和不可见的Excel进程。 如果我在Excel窗口已经打开的情况下使用下面的代码,它将使前者不可见。 我想这是因为它只是访问相同的过程。 from win32com.client import Dispatch excel = Dispatch('Excel.Application') excel.Visible = False excel.WorkBooks.Open('C:/someFile.xls') 我需要这个的原因,是因为我想在不影响当前工作的情况下在后台刮一个不同的Excel文件。 另外,我不知道如何closures其中的一个进程。 如果你要build议一个新的图书馆,我也想知道如何在COM中处理这个问题。

在Excel中访问数据 – 来自python的Reuter

我正在使用集成在Excel中的路透社来检索市场数据。 对于任务自动化,我目前使用VBA,但现在我想切换到Python。 包的pyxll没有多大的帮助,因为原理是相同的VBA(我需要在Excel中,然后单击运行button…)所以我正在考虑使用win32com从外部访问Excel对象与COM对象。 但是,当我这样做的时候: from win32com.client import Dispatch xlApp = Dispatch("Excel.Application") 这段代码打开了一个没有Reuter插件的Excel实例(因此我不能使用Reuter函数来检索数据)。 我不知道如何从python访问Excel-Reuter实例? 我Com Explorer了一下Com Explorer来浏览这个服务,但是我没有看到任何其他的服务

像openpyxl或xlrd / xlwt这样的第三方库有什么,win32com没有什么?

win32com是一个从Python访问COM对象的通用库。 这个库的主要特点之一是能够处理Excel文档。 但是,有很多自定义模块,其唯一目的是操纵excel文档,如openpyxl,xlrd,xlwt,python-tablefu。 这些库对于这个特定的任务来说是否更好? 如果是的话,在什么方面呢?

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

import win32com import win32com.client as win32 xl = win32.gencache.EnsureDisplatch('Excel.Application') 这引发了Excel,但无论什么原因,没有插件加载。 如果Excel已经加载,插件将保持加载并可访问。 请指教。 上下文:我正在从使用专有插件进行调用的工作表中获取数据。 如果插件不加载,我需要刮的所有单元格都会抛出错误。

Python:运行Excel VBA脚本的脚本未运行

我写这篇文章是因为看起来search了一半的互联网后,我无法弄清楚为什么这段简单的代码不工作: from win32com.client import Dispatch def RunExcelMacro(name): myExcel = Dispatch('Excel.Application') myExcel.Visible = 0 myExcel.Workbooks.Add('C:\AC_Software\TestDatei.xls') myExcel.Run(name) myExcel.DisplayAlerts = 0 myExcel.Quit() if __name__ == "__main__": RunExcelMacro('Makro_test') 它应该运行包含在Excel文件“TestDatei.xls”中的vba脚本“Makro_test”。 我在办公室的64位Windows 7桌面机上尝试了Python和Java版本(32和64位)的不同组合。 我也在path中尝试了不同的反斜杠和反斜杠组合(反斜杠,简单,双)。 不幸的是,错误信息是德文的。 但是,如果你们中的一些人能够发现任何东西,这里是: Traceback (most recent call last): File "C:\Users\alloun\workspace\MyTestProject\root\nested\example.py", line 22, in <module> RunExcelMacro('Makro_test') File "C:\Users\alloun\workspace\MyTestProject\root\nested\example.py", line 16, in RunExcelMacro myExcel.Workbooks.Add('C:\AC_Software\TestDatei.xls') File "<COMObject <unknown>>", line 2, in […]

Python和win32com.client似乎缺less方法,特别是SetSourceData

我正在使用Python来自动化一些Excel数据分析。 我有大部分的基础知识,但我似乎无法find任何方式成功调用SetSourceData或SeriesCollection 。 我读过这篇文章 (以及所有其他文章),发现它很有希望,但看起来并不符合我的经验。 我在Windows机器上使用Python 2.7.3,32位。 有没有人成功地使用过SetSourceData或SeriesCollection ? 以下是我正在使用的代码的简化版本和错误: chart = chartSheet.ChartObjects(1) chart.SetSourceData(chartSheet.Range("A1:B2"),PlotBy=2) 我指定PlotBy因为如此 ,但我怀疑它的问题 而错误: raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr)) AttributeError: '&lt;win32com.gen_py.Microsoft Excel 14.0 Object Library.ChartObject instance at 0x68557120&gt;' object has no attribute 'SetSourceData' 哎呀。 我应该看看IronPython吗? (我发现在MSDN文档中指定了一些其他的东西,但似乎不能在Python中工作…但现在不记得它们了。)

如何扫描所有工作表单元格

我想用win32com for python来扫描excel表格单元win32com ,并保存单元格位置及其值的字典。 有没有一种有效的方式来扫描工作表? 意思是扫描尽可能less的单元,但仍然用数据/值扫描所有的单元,忽略远离的单元。 我曾经使用过的openpyxl ,它有一个self.max_row和self.max_column每个工作表的参数。 有没有类似的参数或计算它们的好方法?

从Python执行VBAscript

我需要一些关于win32com.client的帮助。 我有代码工作至于从Python创buildmacros,并使用Excel,但我想这个代码也运行vbascript。 谢谢你们所有的好评! import pyodbc import win32com.client as win32 xl = win32.gencache.EnsureDispatch('Excel.Application') xl.Visible = True ss = xl.Workbooks.Add() sh = ss.ActiveSheet xlmodule = ss.VBProject.VBComponents.Add(1) # vbext_ct_StdModule sCode = '''Sub Download_Standard_BOM() 'Initializes variables Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim ConnectionString As String Dim StrQuery As String ConnectionString = "Provider=SQLOLEDB; Network Library=dbmssocn;Password=********;User […]