2011-11-30 1 views
0

일부 버그가 있습니다. 이 문제를 해결할 수 없으며 모든 코드가 제대로 실행되고 있으며 도형이 Excel 파일에서 복사되는 것을 볼 수 있지만 PowerPoint에 추가하지는 않습니다. 오류가 발생했습니다 Run-time error '-2147188160(80048240) View.Pastespecial : Invalid Request. 지정된 데이터 유형이 런타임 오류 '-2147188160 (80048240) 데이터 형식 : = ppPasteEnhancedMetafile 오류

If Range("H" & i).Value = 1 And Range("B" & i).Value = "FRONT" Then 
    objPPT.Presentations(1).Slides(9).Select 
    objPPT.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile 

사용할 수

답변

3

당신이 선택 아무것도에 의존하지 않는 경우 귀하의 코드가 빠르고 가능성이 더 신뢰할 수있을 것입니다 : 당신이 오류 메시지가 표시되는 이유에 관해서는

With objPPT.Slides(9).Shapes 
    Set objShape = .PasteSpecial(ppPasteEnhancedMetafile)(1) 
    With objShape 
     ' set coordinates and such here 
    End With 
End With 

을, 클립 보드에 무언가를 넣은 후에 코드를 중단하십시오. 그런 다음 PowerPoint로 전환하고 붙여 넣기 옵션을 사용하여 사용할 수있는 붙여 넣기 옵션을 확인하십시오. EMF가 그들 중 하나가 아니라면, 그것은 당신의 문제입니다 ... 당신은 클립 보드에 EMF 형식의 것을 넣지 않을 것입니다.

0

비슷한 문제가 있었지만 다른 해결책을 발견했습니다. 그것은 내가 뭘하고 있었는지에 따라 다를 수 있습니다.

  1. (수동) 몇 가지 성능 메트릭에 대한 보고서였다 전체 웹 페이지를 복사
  2. (매뉴얼)을 붙여
  3. 프로그램을 실행을 능가하는 : 나는 것

    I 설치 프로그램 원하는 값을 추출한 다음 붙여 넣은 시트의 내용을 지 웁니다. 나는 심지어를 사용하여, 특정 제외한 다른 모든 시트를 활성화 할 수 있었다

    Sheets("PDX Paste").Activate 
    

    : 나는 시트에 액세스하려고 할 때

은 결국 많은 테스트 후,이 같은 자동화 오류와 함께 실패 직접 이름 참조 대신 색인 값. 성공적으로 검색을 한 후에 웹 사이트의 복사 및 붙여 넣기에 보이지 않는 컨트롤이 붙여져 있다는 것을 알았습니다. 내가 이것을 발견했을 때 나는 단지 1 (프로그램을 시작하는 데 사용하는 버튼)을 예상했을 때 1,300 이상의 모양을 가졌습니다. 아마도 이러한 컨트롤을 저장하는 데 너무 많은 메모리가 사용 되었기 때문에 글리치가 몇 초 동안 표시된 경우에만 실제로 분명했습니다.

다음 코드를 독립적으로 실행 한 다음 데이터를 정리할 때 내 프로그램의 끝에 추가했습니다. 코드는 시트를 통과하여 내 버튼과 같은 유형이 아닌 모양을 삭제합니다. 삭제하려는 도형이 유지하려는 도형과 동일한 유형 인 경우 적용해야합니다. 또한 유지할 모양이 없으면 더 간단 해집니다.

Dim wsh As Worksheet 
Set wsh = ActiveSheet 

Dim i As Integer 

For i = wsh.Shapes.Count To 1 Step -1 
    If wsh.Shapes(i).Type <> wsh.Shapes("UpdateDataButton").Type Then 
     wsh.Shapes(i).Delete 
    End If 
Next i 

나는이이 문제를 해결할 모르겠지만, 희망이 다른 사람을 도움이 상대적으로 모호한 오류 메시지의 원인이 될 수 있습니다 알아내는 시간의 손실을 방지 할 수 있습니다.