Tag: pywin32

在Windows上使用pywin32 / excel移植Python到Vagrant机器上的Linux

我写了一个广泛的python包,利用excel和pywin32。 我现在正在将这个软件包移动到一个Vagrant机器上的Linux环境中。 我知道有一些“emulator-esque”软件包(例如WINE)可以运行Windows应用程序,并且对于某些Windows应用程序(例如Excel到OpenOffice)来说,它们看起来很像。 然而,我并没有看到正确的道路,为了让我的pywin32 / Excel的依赖代码在Vagrant机器上运行在Linux环境下运行。 理想情况下,我不需要改变我的代码,只需在我的Vagrant机器上进行适当的安装即可。 谢谢

为什么Excelmacros在Excel中工作,而不是从Python中调用?

我有一个Excelmacros,删除工作表,复制另一个工作表,并重命名为删除工作表相同的名称。 从Excel运行时,这工作正常,但是当我通过从Python调用macros运行它,我得到以下错误信息: 运行时错误“1004” – 无法将工作表重命名为与另一个工作表,引用的对象库或由VisualBasic引用的工作簿相同的名称。 该macros具有如下代码: Sheets("CC").Delete ActiveWindow.View = xlPageBreakPreview Sheets("FY").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "CC" 并且debugging器在表格重命名的最后一行突出显示错误。 我也试着把这些调用直接在Python中,但得到相同的错误信息。 任何build议,非常感谢! 谢谢。

Google App Engine上的Pywin32?

我正在考虑在Google App Engine上使用Python中的公式支持来读取/修改大型Excel电子表格。 我对COM的工作原理并不熟悉,但是我想知道是否有人在GAE上成功实现了pywin32,或者这样做是否存在固有的问题,或者一般来说只是一个坏主意。 这似乎是Python的唯一可能的解决scheme(xlrd没有公式支持),但如果它不起作用,我会求助于学习Java和尝试JExcel API。 任何有识之士将不胜感激!

Pywin32 Excel格式

我想通过pywin32写入Excel表格。 我可以做到这一点没有问题。 但是我不能在表格中设置一系列的单元格。 我想要在细胞中心alignment值。 而且我还需要用颜色填充单元格。 我该怎么做? 提前致谢。

Pywin32 Excel写入限制?

我使用pywin32和通用的方式来写入范围到Excel,通过获取一些范围对象,然后写入 range.Value=my_data (这和VBA的语法完全相同) 现在,如果我有一组相当大的单元格(> 6000个字符),并通过设置范围对象的值一次性写出它们,则有时会在这些单元格之一抛出exception(但是将单元格写入本身会工作)。 你知道Excel的任何限制和写范围操作,我应该考虑? 例外看起来像 Traceback (most recent call last): File "test2.py", line 9, in <module> e.write_area([tuple("a"*10000 for i in range(20))]*20, sheet="Tabelle1") File "excel_com.py", line 209, in write_area self.get_range(col, row, col+num_col-1, row+num_row-1, sheet=sheet).Value=data File "C:\Python31\lib\site-packages\win32com\client\dynamic.py", line 550, in __setattr__ self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value) pywintypes.com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, None, None, None, 0, […]

如何获得通过Excel COM接口select的行数和列数?

我可以通过应用程序的.Selection属性来获取区域。 (我使用python来访问Excel的COM接口) 例如,我想知道用户select了多less行和列 input: user has selected A1:G8 output: the selected range starts from Column 1 (by selection.Column) the selected range starts from Row 1 (by selection.Column) the selected range is spanning 7 rows (by ?) the selected range is spanning 8 columns (by ?) 我在看MSDN的Range接口 ,但是这个属性似乎对这个问题没有帮助。

使用Python将文本文件embedded到excel中

我正在尝试使用Python将文本文件embedded到Excel中: xl = win32.Dispatch('Excel.Application') xl.Visible = 1 wb = xl.Workbooks.Open("C:\inventory\INVENTORY.xls") column = wb.ActiveSheet.Range("D2:D200") i = 2 for cell in column: hostname_cell = wb.ActiveSheet.Cells(i,1).Value filename = 'C:\ioe\\' + str(hostname_cell) + '.txt' if hostname_cell is not None: print filename xl.ActiveSheet.OLEObjects().Add(FileName=filename, Link=False, DisplayAsIcon=True).Select i += 1 但是我得到这个错误: TypeError: Add() got an unexpected keyword argument 'FileName' 我在网上search,但不明白为什么,有什么想法? 编辑:我得到同样的错误,如果我改变代码: f […]

VBA到Python的转换

我有一个vbamacros,在excel中embedded一系列文本文件,在D列中引用A列中的值,迭代列。 在将其转换为Python的过程中,我将指定文件的embedded位置。 vbamacros将每个文件embedded到相关行中,而Python脚本以其当前forms将所有文件embedded到同一个单元格(B2)中。 我尝试了各种各样的策略,主要是在不同的地方放置胶印,没有成功,在网上找不到任何例子。 这里是代码片段:VBA: Sub Insert_Text_File() Dim ol As OLEObject Dim file As String Dim cell As Range ' loop each cell in column A For Each cell In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row) If Not IsEmpty(cell) Then file = cell.Value & ".txt" ' create and insert a new OleObject based on the path […]

Python(Pywin32)引用自己的单元格/水平移动

所以,请不要告诉我谷歌或研究或阅读任何东西,过去几天我一直这样做,如果我看到有人再说一遍,会感到恼火。 我的问题:我正在使用pywin32和python 2.7.8与(已经存在的)Excel工作表进行通信。 我用它来logging我的工作时间和赚取的钱等。我已经运行到可以打开工作簿,find我现有的条目下的下一个空单元格,并在该单元格中写入date。 我的问题在于我需要水平导航。 我想程序自动运行,所以我不会总是知道单元格的数量。 例如,我目前的细胞是18,1。 我需要移动到18,2 18,3 18,4和18,5。 但是下次我运行这个脚本,我可能需要19,2 …等等 我怎样才能做到这一点? 有没有办法返回当前单元格? 码: import win32com.client as win32 import os, time xl = win32.Dispatch('Excel.Application') xl.visible = True xl.Workbooks.Open(os.path.join('C:\\Users\\[REDACTED]\\Desktop', '[REDACTED].xls')) xlSheet = xl.Sheets(1) activecell = xlSheet.Cells(1,1) def GetEmptyCell(): global activecell activecell = xlSheet.Cells(1,1) for c in range(1,99,1): if activecell.Value == None: print 'Empty cell' activecell […]

Python – 控制/编辑Excel的现有窗口/工作簿

我正在处理一些脚本来自动化一些数据input。 我有两个窗口打开,相同的数据需要input每隔15分钟左右。 我有一个程序通过pywinauto通过GUI操作进入。 另一个窗口是一个Excel工作簿。 我的问题是,工作簿是,必须保持开放(它显示我使用和实时分析的图表)。 我想知道如何让我的Python脚本find特定的窗口(文件名和位置已知),而无需打开一个新的实例。 我需要编辑本工作簿上特定工作表上的4个单元格。 这是可能的(编辑/控制已经在Windows中打开的现有工作簿)?