Пример #1
0
 def changeChartType(self, xlChartType, Index=None):
     '''
     Chart: ChangeType
     xlChartType: Integer: use self.xlChartType for reference
     '''
     assert type(xlChartType) == int, '%s must be integer!'
     try:
         _xlChartType = self.pptChart.ChartType  # 返回图表类型
         pptWorkbook, pptWorksheet = self.initChartData()  # 初始化
         if Index:
             self.pptSeriesCollection(Index).ChartType = xlChartType
             print('Shape:%s Chart:%s Index:%s change type from %s to %s!' %
                   (self.pptShape.Name, self.pptChart.Name, Index,
                    MSOPowerpointFunc.funcLookupKey(_xlChartType,
                                                    self.xlChartType),
                    MSOPowerpointFunc.funcLookupKey(xlChartType,
                                                    self.xlChartType)))
         else:
             self.pptChart.ChartType = xlChartType
             print('Shape:%s Chart:%s change type from %s to %s!' %
                   (self.pptShape.Name, self.pptChart.Name,
                    MSOPowerpointFunc.funcLookupKey(_xlChartType,
                                                    self.xlChartType),
                    MSOPowerpointFunc.funcLookupKey(xlChartType,
                                                    self.xlChartType)))
         self.pptChart.Refresh()
         time.sleep(self.seconds)
         pptWorkbook.Close()
         time.sleep(self.seconds)
         return True
     except:
         traceback.print_exc()
         return False
Пример #2
0
 def addShape(self, AutoShapeType=1, Left=0, Top=0, Width=100, Height=20):
     '''
     Shape: add AutoShape
     '''
     try:
         if type(AutoShapeType) is not int:
             AutoShapeType = self.msoAutoShapeType.get(AutoShapeType, None)
         if self.presInfo['SlidesCount'] == 0: self.addSlide()
         if AutoShapeType:
             self.pptShape = self.pptSlide.Shapes.AddShape(
                 Type=AutoShapeType,
                 Left=Left,
                 Top=Top,
                 Width=Width,
                 Height=Height)
             self.setShape()
             print('Shape :%s ShapeType:%s added!' %
                   (self.pptShape.Name,
                    MSOPowerpointFunc.funcLookupKey(AutoShapeType,
                                                    self.msoAutoShapeType)))
             return True
         return False
     except:
         traceback.print_exc()
         return False
Пример #3
0
 def addPicture(self,
                Picture=None,
                LinkToFile=0,
                SaveWithDocument=-1,
                Left=0,
                Top=0,
                Width=-1,
                Height=-1,
                AdjustDpi=True):
     '''
     Picture: Insert Picture
     '''
     try:
         assert os.path.exists(Picture), '%s not found!' % Picture
         if AdjustDpi:
             Picture = MSOPowerpointFunc.funcPictureDpi(
                 Picture, self.presInfo['DPI'])
         if self.presInfo['SlidesCount'] == 0: self.addSlide()
         self.pptShape = self.pptSlide.Shapes.AddPicture(
             FileName=Picture,
             LinkToFile=LinkToFile,
             SaveWithDocument=SaveWithDocument,
             Left=Left,
             Top=Top,
             Width=Width,
             Height=Height)
         self.setShape()
         print('Shape Picture:%s added!' % self.pptShape.Name)
         return self.pptShape
     except:
         traceback.print_exc()
         return False
Пример #4
0
 def setMSOobj(self,
               obj=None,
               r=None,
               g=None,
               b=None,
               ColorName=None,
               ShowMessage=True,
               **kwargs):
     '''
     MSO obj set
     '''
     if not obj:
         return False
     # set ForeColor
     for k, v in kwargs.items():
         if hasattr(obj, k):
             # method
             if callable(getattr(obj, k)):
                 if v == True:
                     try:
                         getattr(obj, k)()
                     except:
                         traceback.print_exc()
                 else:
                     try:
                         getattr(obj, k)(v)
                     except:
                         traceback.print_exc()
             # attribute
             else:
                 if v != None:
                     try:
                         setattr(obj, k, v)
                     except:
                         traceback.print_exc()
     try:
         color = MSOPowerpointFunc.getRGB(r=r,
                                          g=g,
                                          b=b,
                                          ColorName=ColorName)
         if color != False:
             if hasattr(obj, 'ForeColor') and hasattr(obj.ForeColor, 'RGB'):
                 setattr(obj.ForeColor, 'RGB', color)
             elif hasattr(obj, 'Color') and hasattr(obj.Color, 'RGB'):
                 setattr(obj.Color, 'RGB', color)
     except:
         traceback.print_exc()
     if ShowMessage:
         print('MSOobj setted!')
     return True
Пример #5
0
 def getShapeHyperlinksDict(self):
     '''
     HyperlinksDict
     '''
     HyperlinksDict = {}
     for SlideIndex in range(1, self.presInfo['SlidesCount'] + 1):
         pptSlide = self.pptSlides.Item(SlideIndex)
         if pptSlide.Hyperlinks:
             for hl in pptSlide.Hyperlinks:
                 Address = hl.Address
                 SubAddress = hl.SubAddress
                 ZOrderPosition = MSOPowerpointFunc.funcGetShapeFromHyperlink(
                     hl)
                 if ZOrderPosition:
                     HyperlinksDict[(SlideIndex,
                                     ZOrderPosition)] = (True, Address,
                                                         SubAddress)
     return HyperlinksDict
Пример #6
0
 def exportDfsToExcel(self, dfs, sheetnames, filename, index=True):
     MSOPowerpointFunc.exportDfsToExcel(dfs,
                                        sheetnames,
                                        filename,
                                        index=index)
Пример #7
0
 def exportPPTtoExcel(self):
     return MSOPowerpointFunc.exportPPTtoExcel(self)