1

私はExcelvbaを使用して、Excelファイルのチャートをコピーして以下のコードを使用してpptファイルに貼り付けています。これは別のアプリケーションで試したコードですが、別のアプリケーションで同じコードを使用するとエラーが発生しますchart1をpptに貼り付けているときに「アプリケーション定義またはオブジェクト定義のエラー」が発生しました。どこで間違ったことをしたのか、どのような変更を行う必要があるのか​​を誰かに教えてもらえますか。

Sub PasteToPPT(FileName As String)
Dim file As String
file = FileName

Dim pptPres As PowerPoint.Presentation
Dim AppPPT As PowerPoint.Application
Dim SlidePPT As PowerPoint.Slide
Dim cht As Excel.ChartObject
Dim Sht As Excel.Sheets

Set AppPPT = CreateObject("PowerPoint.Application")
    AppPPT.Visible = True

     AppPPT.Presentations.Open (file)

     'AppPPT.Presentations.Open FileName:=file

     Excel.Sheets("Charts").Activate

     AppPPT.ActiveWindow.View.GotoSlide 1
        Set SlidePPT = AppPPT.ActivePresentation.Slides(1)

     Excel.Sheets("Charts").ChartObjects("Chart1").Copy '<-- Here i'm getting the error
         AppPPT.ActivePresentation.Slides(1).Shapes.Paste.Select

     AppPPT.ActiveWindow.Selection.ShapeRange.LockAspectRatio = False

    AppPPT.ActiveWindow.Selection.ShapeRange.Left = 0
    AppPPT.ActiveWindow.Selection.ShapeRange.Top = 275

    AppPPT.ActiveWindow.Selection.ShapeRange.Width = 966
    AppPPT.ActiveWindow.Selection.ShapeRange.Height = 200

    Excel.Sheets("Charts").ChartObjects("Chart2").Copy
        AppPPT.ActivePresentation.Slides(1).Shapes.Paste.Select

    AppPPT.ActiveWindow.Selection.ShapeRange.LockAspectRatio = False

    AppPPT.ActiveWindow.Selection.ShapeRange.Left = 0
    AppPPT.ActiveWindow.Selection.ShapeRange.Top = 390

    AppPPT.ActiveWindow.Selection.ShapeRange.Width = 966
    AppPPT.ActiveWindow.Selection.ShapeRange.Height = 200

    'AppPPT.ActivePresentation.SaveAs ("D:\Projects\IEB MBU MYR US\Demo_Slide.pptx")
    AppPPT.ActivePresentation.Save

    Set SlidePPT = Nothing
    ''AppPPT.Quit
    Set AppPPT = Nothing

End Sub

前もって感謝します。

4

1 に答える 1

0

Dineshのコメントから、後で誰かがそれに遭遇した場合の答えは次のとおりです。

Sheets("Chart1")に置き換える必要がありますWorksheets("Chart1")

コレクションには実際のSheets「計算」シートのみが含まれていますが、Worksheetコレクションにはさらにグラフシート(およびExcel4マクロシート)が含まれています。Chart1チャートのように、それはコレクションSheetsに含まれていませんでした...

于 2013-02-25T09:09:02.407 に答える