Tag: win32com

如何在python(Anaconda)中使用vba将图片插入到指定单元格位置的Excel中

我尝试使用这个链接与vba代码,但在Python中,它不起作用。 import win32com.client Excel = win32com.client.Dispatch("Excel.Application") wb = Excel.Workbooks.Open(r'C:/Users/Home/Desktop/expdata.xlsx') wb.Worksheets("Report").Activate # выбор активного листа sheet = wb.ActiveSheet obj1=wb.ActiveSheet.Pictures.Insert(r'C:\Users\Home\Desktop\picture.jpg') obj1.ShapeRange obj1.ShapeRange.LockAspectRatio = msoTrue obj1.ShapeRange.Width = 75 obj1.ShapeRange.Height = 100 obj1.Left = xlApp.ActiveSheet.Cells(i, 20).Left obj1.Top = xlApp.ActiveSheet.Cells(i, 20).Top obj1.Placement = 1 obj1.PrintObject = True wb.save wb.Close Excel.Quit() AttributeError Traceback(最近调用最后一个)在()9 sheet.Cells(20,20).Select 10#obj1 = sheet.Shapes.AddPicture(r'C:/Users/Home/Desktop/picture.jpg',False, True,10,3,100,100)—> 11 obj1 = […]

在Python中不使用VBA警告closuresExcel

我正在使用python win32com库来读取一个excel文件。 以下是我使用的片段。 import win32com.client excel = win32com.client.Dispatch('Excel.Application') workbook = excel.Workbooks.Open("path.xlsm") s=workbook.Sheets('Request') print(str(s.Cells(10,18)).replace(" ","").lower()) workbook.Close() 在closures时,会popup一个VBA警告。 程序执行停止,直到我按下“OK”。 请帮我忽略这个警告? 我试过excel.DisplayAlerts = False ,这没有帮助

使用python win32添加评论到excel

我正在尝试添加新的评论,以使用Win32的python擅长。 import win32com.client as win32 excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open(r'C:\…\.xlsx') ws = wb.Worksheets('sheet1') ws.Cells(1,1).AddComment = "comment" – >对象没有属性'AddComment' 你知道如何添加新的评论,以使用Win32的Excel吗? 谢谢!

我怎样才能用win32com自信地设置调度对象的属性

我一直在努力将一个属性分配给一个对象(或者它是一个实例) xl=win32com.client.Dispatch('Excel.Application') xl.Visible=0 srce=xl.Workbooks.Open('myexcelfile') srce.CheckCompatibility='False' 如果我查询关于它的CheckCompatibility属性的srce对象,我得到一个“False” >>> srce.CheckCompatibility False 所以我天真地想我可以保存这个我想要的 srce.SaveAs(R'C:\ newtttxt14.xls',的FileFormat = 1) 但是当我这样做时,兼容性检查对话框出现。 我打继续,文件保存,然后再次检查兼容性。 >>> srce.CheckCompatibility True So I again try to set it and this time I am successful srce.CheckCompatibility='False' 我再次查询它: >>> srce.CheckCompatibility False 现在,当我试图保存文件的兼容性检查器对话框不会出现,文件保存完全是我想要的。 在我尝试以另一种格式保存文件之前,我需要确定是否可以设置srce的属性 – 可以以其他方式进行吗? 谢谢

.xlsx和xls(最新版本)到PDF使用Python

随着这个.doc到PDF使用python链接的帮助,我想为Excel(.xlsx和xls格式) 以下是修改Excel代码: import os from win32com import client folder = "C:\\Oprance\\Excel\\XlsxWriter-0.5.1" file_type = 'xlsx' out_folder = folder + "\\PDF_excel" os.chdir(folder) if not os.path.exists(out_folder): print 'Creating output folder…' os.makedirs(out_folder) print out_folder, 'created.' else: print out_folder, 'already exists.\n' for files in os.listdir("."): if files.endswith(".xlsx"): print files print '\n\n' word = client.DispatchEx("Excel.Application") for files in os.listdir("."): if files.endswith(".xlsx") […]

当我编辑另一个打开的工作簿时,Python脚本(win32com,excel)崩溃。 这是预期的行为,我可以防止这个?

错误如下所示: File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 471, i __setattr__ self._oleobj_.Invoke(*(args + (value,) + defArgs)) pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None 0, -2146777998), None) 我正在使用Office 2007

如何读取电子表格单元格的显示值,而不是公式?

我有一个程序,通过访问它的“文本”成员来读取电子表格中的单元格的值(通过COM)。 当我使用Excel 2003时,我的程序正确地返回了单元格的显示值。 现在我正在使用OpenOffice Calc,取而代之,我正在取回单元格中的公式('= SUM(F8:F10)')。 使问题复杂化,我正在使用一个名为AutomateIT的工具! 让我把Calc看作是Excel,所以可能是因为这个问题而不是Calc。 我的程序是在Python中,我使用win32com.client库来创buildCOM调度程序。 这是Python代码的本质(对于包含公式的单元格,“空”函数总是返回false): from win32com.client import Dispatch def empty(cell): """Returns false if the specified cell has a non-zero value in it""" val = sheet.Range(cell).Text return val == 0.0 or val == '' or val == None xlApp = Dispatch('Excel.Application') # Actually opens OpenOffice Calc, thanks to AutomateIT! xlApp.Workbooks.Open('myfile.ods') […]

在python中使用excel插件的问题

我试图用python和win32com加载一个excel工作簿到一个excel的实例中,我打开了一个插件 我用来打开文件的代码是这样的。 excel=win32com.client.Dispatch("Excel.Application") source = excel.Workbooks.Open('test.xlsm') 问题是,这实际上是打开一个单独的Excel实例,而没有插件激活。 我曾尝试打开该插件文件,然后像这样的工作簿。 excel=win32com.client.Dispatch("Excel.Application") addin = excel.Workbooks.Open('addin.xla') source = excel.Workbooks.Open('test.xlsm') 但是当我尝试使用插件,我得到一个类似这样的错误。 无法运行macros“sbex.xla!runQuery” 任何想法都会有所帮助。

如何使用xlrd或xlwt打开Excel应用程序?

我知道我可以打开MS Excel应用程序使用win32com设置可见为true我可以使用xlrd或xlwt做同样的?

开放和调度的excel进程之间的相互作用,win32com

我使用win32com(LiClipse中的Python 2.7(Anaconda))来启动Excel的单独实例… class ExcelDocument(object): """Excel class """ def __init__(self, xlDocIn, make_visible=False): """Open spreadsheet""" self.excelApp = DispatchEx('Excel.Application') 然后,我做点和bobs到Excel文档(使用MS Office 2013),包括用DispatchEx打开另一个文档… objExcel1 = ExcelDocument(PATH_TABLE,False) objExcel1.update_sheets() … objExcel2 = ExcelDocument(PATH_BACKG, False) 试图分配第二个Exceldocument类将崩溃脚本。 如果我改变init def __init__(self, xlDocIn, make_visible=False): """Open spreadsheet""" try: self.excelApp = GetActiveObject('Excel.Application') except: self.excelApp = DispatchEx('Excel.Application') 脚本运行良好。 如果我运行脚本时打开了一个excel文件。 该脚本将在编辑打开的文件时崩溃。 湾 当这些代码行被执行时,打开的excel文件将会closures。 def close(self): """Close spreadsheet resources""" self.excelApp.DisplayAlerts […]