3

X 軸に多数のポイントがあるグラフがあります (例: ECG)。

このグラフをPowerpoint 2007/2010 で水平スクロール可能なオブジェクトとして配置するにはどうすればよいですか? そのまま貼り付けると、幅に合わせてサイズが変更されて読めなくなります。

チャートの水平スクロールバーを含めて高さを維持したい。

4

2 に答える 2

3

それができるかどうかはわかりません。私はあなたに興味深い代替案を与えることができると言った. :)

グラフが Excel で次のようになっているとします。

ここに画像の説明を入力

チャートを右クリックし、 をクリックしますCopy。Ms ペイントを開いて、その画像を貼り付けます。その写真を保存し、次のように言いますC:\MyChart.Jpg

次に MS Powerpoint を開き、Developerタブに移動します。(スナップショットを参照) 開発者タブで、追加のコントロール ボタンをクリックし、[Microsoft Web Browser] を選択して、そのコントロールをそれぞれのスライドに挿入します。それに応じてサイズを調整します。コマンドボタンも配置。Show Chartそれまたはあなたが正しいと思うものに名前を付けてください:)

ここに画像の説明を入力

コマンドボタンをダブルクリックして、このコードをそこに貼り付けます

Private Sub CommandButton1_Click()
    WebBrowser1.Navigate "C:\MyChart.jpg"
End Sub

を押しF5てプレゼンテーションを実行します。画面は次のようになります。

ここに画像の説明を入力

コマンドボタンを押すと、必要なものが得られます:)

ここに画像の説明を入力

この方法の欠点

1) MS Powerpoint でチャートを編集することはできません。Excelでそれを行い、手順全体を繰り返して画像として保存する必要があります.

2) PPT を配布することはできません。PPT とは別に画像を送信する必要があります。また、コマンド ボタンのコードを変更する必要があります ( PPT と画像が同じフォルダーにあると仮定します)。

Private Sub CommandButton1_Click()
    WebBrowser1.Navigate ActivePresentation.Path & "\MyChart.jpg"
End Sub

また

xls ファイルを ppt に埋め込み、複雑なコードを記述して Excel ファイルからグラフを抽出し、ユーザーに保存する必要がありますtemp directory。その後、その画像をWebbrowser1

于 2012-04-19T16:02:16.227 に答える
2

これは別の角度から問題にアプローチしたため、まったく新しい回答を投稿しています:)

このメソッドは、私の最後のコメントに続きます

xls ファイルを ppt に埋め込み、複雑なコードを記述して Excel ファイルからグラフを抽出し、ユーザーの一時ディレクトリに保存する必要があります。その後、その画像を Webbrowser1 で使用できます。

ファローアップ

@Siddharth Rout: ありがとう!しかし、再配布はまさに私が望んでいるものです。また、画像を別のファイルとして持つことはできません(これを顧客に渡す予定です)。

あなたの心配はもうあなたを心配するべきではありません;)

デザインモード

パワーポイントのスライドに、グラフを含む Excel オブジェクトを挿入します。スライドは次のようになります

ここに画像の説明を入力

他の回答に示されているように、「Microsoft Web Browser」と「Command Button」を挿入します。Excel オブジェクトの上に Web ブラウザを配置して非表示にします。

画面は次のようになります。

ここに画像の説明を入力

このコードを貼り付けてプレゼンテーションを実行してください...それだけです...本当に;)

コード

Option Explicit

Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Const MAX_PATH As Long = 260

Dim ImageFile As String

Private Sub CommandButton1_Click()
    ExtractToTemp
    WebBrowser1.Navigate ImageFile
End Sub

Sub ExtractToTemp()
    Dim oSl As PowerPoint.Slide
    Dim oSh As PowerPoint.Shape

    Dim oXLApp As Object, oXLWB As Object, oXLSht As Object
    Dim mychart As Object

    Set oSl = ActivePresentation.Slides(1)

    Set oSh = oSl.Shapes(1)

    With oSh.OLEFormat.Object.Sheets(1)
        .Shapes(1).Copy
    End With

    '~~> Establish an EXCEL application object
    On Error Resume Next
    Set oXLApp = GetObject(, "Excel.Application")

    If Err.Number <> 0 Then
        Set oXLApp = CreateObject("Excel.Application")
    End If
    Err.Clear
    On Error GoTo 0

    oXLApp.Visible = False

    '~~> Open the relevant file
    Set oXLWB = oXLApp.Workbooks.Add
    Set oXLSht = oXLWB.Worksheets(1)

    oXLSht.Paste

    '~~> Save Picture Object
    ImageFile = TempPath & "Tester.jpg"

    If Len(Dir(ImageFile)) > 0 Then Kill ImageFile

    Set mychart = oXLSht.ChartObjects(1).Chart
    mychart.Export FileName:=ImageFile, FilterName:="jpg"

    '~~> Wait till the file is saved
    Do
        If FileExists(ImageFile) = True Then Exit Do
        DoEvents
    Loop

    '~~> Clean Up And Close Excel
    oXLWB.Close SaveChanges:=False
    oXLApp.Quit

    Set oXLWB = Nothing
    Set oXLApp = Nothing
End Sub

'~~> Get User's TempPath
Function TempPath() As String
    TempPath = String$(MAX_PATH, Chr$(0))
    GetTempPath MAX_PATH, TempPath
    TempPath = Replace(TempPath, Chr$(0), "")
End Function

'~~> Function tot check if file exists
Public Function FileExists(strFullPath As String) As Boolean
    On Error GoTo Whoa
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileExists = True
Whoa:
    On Error GoTo 0
End Function

テスト用のサンプル ファイル: このファイルをダウンロードして、プレゼンテーションを実行してください。ボタンをクリックした後にチャートが表示された場合は、それが機能していることを意味します:)

https://skydrive.live.com/redir.aspx?cid=cdd3f8abe20bbe3b&resid=CDD3F8ABE20BBE3B!162&parid=ルート

于 2012-04-20T20:54:27.820 に答える