Улучшение производительности кода Vb.net для PowerPoint

Мой код занимает намного больше времени в Office 7 32-разрядных PowerPoint, в то время как в Office 2013 он имеет довольно хорошую производительность.

Я добавил офисную тему, когда удаляю тему из презентации, тогда она работает очень хорошо.

Могу ли я улучшить производительность из кода или это ограничение PowerPoint 2007, которое создает устаревшие. Если его производительность может быть улучшена из кода, как я могу?

Вот мой код, который занимает слишком много времени.

dataLabelVerticalGapPointer = (dataLabelsVerticalGap - dataLabelTextSize) / 2
                For counterInteger As Integer = 0 To optionCountInteger - 1

                    tempTextBoxShapeObject = ppSlideObject.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, IIf((chartShapeLeft - datalabelsLeftMarginAdjustment) < 0, 0, chartShapeLeft - datalabelsLeftMarginAdjustment), chartShapeTop + dataLabelVerticalGapPointer, TB_DATALABEL_WIDTH + datalabelWidthAdjustmentFactor, TB_DATALABEL_HEIGHT)
                    With tempTextBoxShapeObject

                        If IsHidden Then
                            .Visible = MsoTriState.msoFalse
                        End If
                        'EZVOTEMNT-434  - 12 may 15 --- umair.s --- percentage text box alignment
                        .TextFrame.VerticalAnchor = MsoVerticalAnchor.msoAnchorTop
                        .TextFrame.TextRange.Text = datalabelValuesArr(counterInteger)
                        .Name = TB_DATALABEL
                        .TextFrame.TextRange.Font.Size = dataLabelTextSize
                        'EZVOTEMNT-434  - 12 may 15 --- umair.s --- percentage text box wrapping fixed
                        .TextFrame.MarginRight = 0

                        .TextFrame2.MarginTop = 0
                        .TextFrame2.MarginBottom = 0
                        .TextFrame2.MarginLeft = 0
                        .TextFrame2.AutoSize = MsoAutoSize.msoAutoSizeTextToFitShape

                        'EZVOTEMNT-115 --- 22 may 13 --- ahaq  --- Clear Responses should not override/reset custom changes to the design of the slides and slide objects
                        'If clearTextBoxDataLabelColorsFlag Then
                        .TextFrame.TextRange.Font.Color.RGB = TranslateColor(DefaultChartLabelsColor)
                        'Else
                        '.TextFrame.TextRange.Font.Color.RGB = tempTextBoxDataLabelsColorsArr(colorsArrayIndex)
                        'clearTextBoxDataLabelColorsFlag = True
                        'End If


                        dataLabelVerticalGapPointer += dataLabelsVerticalGap * 0.995
                        colorsArrayIndex += 1
                    End With
                Next

специально эти строки

tempTextBoxShapeObject = ppSlideObject.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, IIf((chartShapeLeft - datalabelsLeftMarginAdjustment) < 0, 0, chartShapeLeft - datalabelsLeftMarginAdjustment), chartShapeTop + dataLabelVerticalGapPointer, TB_DATALABEL_WIDTH + datalabelWidthAdjustmentFactor, TB_DATALABEL_HEIGHT) .TextFrame.TextRange.Text = datalabelValuesArr(counterInteger) занимает больше времени

Я искал, но не мог найти способ улучшить производительность моего кода, спасибо заранее

0 ответов

Другие вопросы по тегам