Tag: win32com

xlXYScatter在由python生成时正在生成xlXYScatterLines

我正在写代码在Excel中产生一个XY散点图,但我似乎无法产生一个简单的xlXYScatter,而是我的程序产生一个xlXYScatterLines。 我正在使用win32com,并尝试使用枚举数( -4169 ), win32com.client.constants.xlXYScatter和xlXYScatter作为win32com.client.constants.xlXYScatter ,但都产生一个分散的行。 贝娄是我制作图表的代码: firstChart = excel.Charts.Add() firstChart.Name = "VMD vs Modified VMD" firstChart.ChartType = -4169 firstChart.SetSourceData(firstSheet.Range("$A:$B")) 我正在使用Python 3.3和Excel 2010

使用Documents.Open方法传入密码。 它是否正确?

我在.py脚本中有以下几行代码,我正在访问受密码保护的文档。 但是,一旦运行此脚本,一旦winword.exe可见,Word将再次向用户请求密码。 这是正常的行为? 我怀疑,因为它要求input密码是否包含在我的.py文件中。 任何input赞赏。 以下是代码: word=win32com.client.Dispatch('Word.Application') word.Visible=1 doc=word.Documents.Open('FilePath',PasswordDocument='PASSWORD') 在一个侧面说明,目标是.docx必须只能通过这个脚本(打开Word),而不是其他的。 任何其他人想要实现这一点的方法也将被赞赏。

Win32com不调度excel,说'服务器执行失败'

我最初的脚本是: import win32com.client import os file1= r'C:\\Users\cevans\Desktop\models1\file.xlsm' def refresher(): if os.path.exists(file1): xl = win32com.client.Dispatch("Excel.Application") xl.Workbooks.Open(Filename=file1,ReadOnly=1) xl.Visible = True xl.Application.Run('Report_Tablerefresh1') xl.Workbooks(1).Close(SaveChanges=1) xl.Application.Quit() del xl refresher() 当我尝试做一个简单的excel调度时,我遇到了这个错误,奇怪的是这个脚本已经运行好几个星期了,然后这个错误popup来了。 有什么build议么? Traceback (most recent call last): File "C:/Users/cevans/PycharmProjects/RigLocatorMapPull/Pipe_StorageRefresh.py", line 17, in <module> refresher() File "C:/Users/cevans/PycharmProjects/RigLocatorMapPull/Pipe_StorageRefresh.py", l ine 10, in refresher xl = win32com.client.Dispatch("Excel.Application") File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch dispatch, […]

Python没有在Excel单元格中获得正确的值

我想根据它的内容给单元格的内部着色,但是当我访问它的值时,我总是得到'1.0',这个值被计算出来。 着色码: def _colorizeTop10RejetsSheet(self): """Colore les position de la page "Top 10 Rejets" """ start_position = (5, 12) last_line = 47 for x in range(start_position[0], last_line+1): current_cell = self.workbook.Sheets("Top 10 Rejets").Cells(x, start_position[1]) current_cell.Interior.Color = self._computePositionColor(current_cell.Value) def _computePositionColor(self, position): """Colore les position de 1 a 5 en rouge de et 6 a 10 en orange""" if […]

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

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

win32com模拟执行在Excel中select所有两次

在win32com中, cells = worksheet.UsedRange 类似于在Excel中单击一次cntl-a。 什么是win32com等同于做cntl-a两次? 用例是当你使用格式画家后按cntl-a两次,它将粘贴所有的格式,包括列的宽度。

我可以使用pywin32 WithEvents并不抢占进程?

我有一个win32com.client.WithEvents问题。 我正在调度Excel及其事件。 之后,我遇到问题,我通常不能与Excel交互(例如保存工作簿),似乎像python已经抢占了Excel的过程。 我的代码的最小例子: 对我来说真的很奇怪,这段代码在PyScripter的内部引擎中工作得很好,但是不能像我期望的那样使用远程引擎,或者在PyCharm的python控制台中工作。 import win32com.client class Events: def __init__(self): pass def OnWorkbookBeforeSave(self, workbook, saveAsUI, Cancel): print "before save" excel = win32com.client.Dispatch("Excel.Application") excel.Visible = True wb = excel.Workbooks.Add() event = win32com.client.WithEvents(excel, Events) print "dispatched events" wb.Save() 此代码旨在每次保存文档时打印“保存前”。 当我把它放到解释器中时,它通过python保存工作簿,但我不能更改工作簿内容或使用我的鼠标和保存图标保存我的工作簿。 但是,当我使用PyScripter内部引擎它的作品。 有没有办法,可以在这种情况下使用,所以我可以通过Python保存我的工作簿,并改变它的内容,就像在正常的交互(使用鼠标和键盘)? 而不是使用PyScripter内部引擎。

tomcat / CGI和python3无法使用win32com打开Excel文件

我有一个PY3脚本,它使用Win32COM来实例化一个新的Excel实例,并试图打开一个现有的.xlsx文件 – 在Windows上通过Tomcat / CGI调用时失败: sys.stdout.write("Content-Type: text/html\n\n") excel = DispatchEx('Excel.Application') dir = r'C:\temp' s = 'test.xlsx' sfile = os.path.join(dir, s) try: wbS = excel.Workbooks.Open(sfile) except pythoncom.com_error as error: print("exception details: {0}".format(error)) exit(1) 操作失败: exception details: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', "Microsoft Excel cannot access the file 'C:\\temp\\test.xlsx'. There are several possible reasons:\n\n• The file […]

如何使用win32com模块在excel中填充列表

我正在尝试将列表写入excel,列表包含几列。 我在下面列出了我的代码。 它似乎只提取第一个值。 我是相当新的python,我错过了什么? 码: import win32com.client as win32 # Z = [3,4,6,8,9,11,40] Q = ['x','y','z','e','g','AA','BB'] excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Add() ws = wb.Worksheets.Add() ws.Name = "MyNewSheet" ws.Range(ws.Cells(1,1),ws.Cells(1,2)).Value = ['Z','Q'] for i,e in enumerate (Z): ws.Range("A2:A8").Value = [ i for i in (Z)] for i,e in enumerate (Z): ws.Range("B2:B8").Value = [ i for i […]

如何从C ++(Clion)调用python脚本

好的,所以在互联网上search一下太难以后,我仍然有同样的问题。 我有一个非常简单的python脚本,打开指定的excel文件,然后运行一个macros。 我知道一个事实,我的Python脚本运行,因为它应该孤立。 我知道我的C ++代码应该运行。 但是两者的组合创build了一个“com_error”。 所有看到这个的人都知道,这些都是我跑过的所有testing: (1)简单的python脚本(只是打印hello) – >传递(2)使用C ++运行相同的简单.py脚本 – >通过(3)更多advanecd python脚本(打开excel,运行macros,保存并closures) – >通过(4)usc C ++代码运行高级.py脚本 – >失败。 还有我的问题。 这与win32com.client有关,服务器抛出的错误是因为它无法find文件的位置(但相信我,因为它通过了“查找文件”testing) 我正在运行Windows7,Python 2.7和最新版本的JetBrains Clion(2017.1.2)。 任何帮助将如此赞赏。 谢谢! 快乐的编码。 C ++代码: #include <iostream> #include <Windows.h> using namespace std; int main() { const char *cmd = "python C:\\Users\\Alex.Valente\\Desktop\\python.py"; PROCESS_INFORMATION processInformation = {0}; STARTUPINFO startupInfo = {0}; startupInfo.cb […]