Вопрос

У меня есть слайд PowerPoint 2007 с двумя встроенными объектами Excel. Я хочу получить доступ к вкладке «Лист1» и нарушите все ссылки. Я пытался скопировать и вставлять по значению, но я застрял, хотя код работает, это ничего не делает. Любая помощь значительно ценится.

dim OSL как слайд Dim Sosheet как объект DIM PPAPP в качестве PowerPoint.Application Dim pppres как powerPoint.presentation

для каждого OSL в ActivePresentation. Для каждого OSH в OSL.Shapes

ActiveWindow.View.GotoSlide oSl.SlideIndex
    If oSh.Type = msoEmbeddedOLEObject Then
          oSh.OLEFormat.Activate
              With oSh.OLEFormat.Object

            .Application.Workbooks(1).Worksheets(1).Cells.Copy
           .Application.Workbooks(1).Worksheets(1).Cells.PasteSpecial Paste:=xlPasteValues


             End With


        ActiveWindow.Selection.Unselect
        ActiveWindow.View.GotoSlide oSl.SlideIndex

    End If

Next
.

Далее Конец sub

Это было полезно?

Решение

Обновлено / отредактировано ... Пропустить строку обновления приложения, попробуйте так, чтобы вместо этого:

If oSh.Type = msoEmbeddedOLEObject Then
    With oSh.OLEFormat.Object   ' added .Object here
        .Activate
        .Application.workbooks(1).worksheets(2).Cells.Copy
        .Application.workbooks(1).worksheets(2).Cells.PasteSpecial Paste:=xlPasteValues
    End With
End if
.

Во-первых, либо определите постоянные LXPastevalues как Long= -4163, либо замените XLPastevalues с -4163 в код выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top