PowerPoint VBA для нарушения ссылок в Oleformat Object
-
13-12-2019 - |
Вопрос
У меня есть слайд 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 в код выше.
Не связан с StackOverflow