누군가가 msoLinkedOLEObjects
개체가 무엇인지 이해할 수 있습니까?msoLinkedOLEObjects는 어떤 객체를 참조합니까?
기본적으로 내 문제는 PPT 파일의 링크 원본 경로를 Excel 워크 시트에서 VBA를 통해 변경하고 싶습니다. 여기서는 PPT 파일 경로를 워크 시트에 첨부 할 수 있으며 클릭 만하면됩니다 버튼을 누르면 워크 시트에서 모든 링크 소스가 변경됩니다.
개체 유형이 포함되어 있는지 확인해야하므로 계속 실행합니다. 그러나 링크 소스가 업데이트되지 않았습니다. 디버그를 시도하고 msoLinkedOLEObjects
을 찾을 수 없습니다. Excel 워크 시트에서 특정 값을 변경하면 PPT 파일의 값도 변경되므로 삽입되지 않은 방법이 궁금합니다. - PPT의 파일 경로
바르 "linkPth"여기 아래
내 코드입니다.
Set ppt = New PowerPoint.Application ppt.Visible = True Set oPres = ppt.Presentations.Open(linkPth) For Each osld In oPres.Slides For Each oshp In osld.Shapes If oshp.Type = msoLinkedOLEObjects Then If oshp.OLEFormat.progID = "Excel.Sheet" Then oshp.LinkFormat.SourceFullName = ThisWorkbook.Path & "\" _ & ThisWorkbook.Name MsgBox .LinkFormat.SourceFullName End If End If Next Next
는 (나는 결과를 위해 웹 사이트와 포럼을 검색하지만 여전히 희망이 전혀 없었다 일주일 지출했다. 이미에 대한 답변을 발생했을 경우에 죄송합니다 다시 그것을 가져왔다.)
오타로 인해 미안하지만, 여분의 '나'를 확인하지 않고 여기에 작성했습니다. 코드를 시도했지만 여전히 작동하지 않습니다. "oshp.Type = msoLinkedOLEObject 인 경우"의 루프를 입력하지 않습니다. 그렇다면 임베디드 차트가 아닙니다. 값이 엑셀 시트를 통해 업데이트 할 수 있습니까? –
삽입 된 차트와 연결된 차트는 완전히 다른 두 가지 요소입니다. 아마도 당신은 링크가 아닌 차트를 삽입했을 것입니다. oshp.Type = msoEmbeddedOLEObject인지 확인하기 위해 테스트 할 수도 있습니다. 그렇다면 차트가 포함되고 linkformat.sourcefullname 속성이 없습니다. 또한 워크 시트가 아닌 차트를보고있는 경우 .ProgID에 "Excel.Sheet"가 아닌 "Excel"이 포함되어 있는지 테스트하십시오. –
메서드를 시도하고 로컬 창에서 .Type 값을 모니터링했습니다. msoAutoShape, msoChart, msoTextBox 등을 반환합니다. 그리고이 경우에는 프로그래밍 방식으로 링크 원본 경로를 변경할 수 없습니다. –