X 軸に多数のポイントがあるグラフがあります (例: ECG)。
このグラフをPowerpoint 2007/2010 で水平スクロール可能なオブジェクトとして配置するにはどうすればよいですか? そのまま貼り付けると、幅に合わせてサイズが変更されて読めなくなります。
チャートの水平スクロールバーを含めて高さを維持したい。
X 軸に多数のポイントがあるグラフがあります (例: ECG)。
このグラフをPowerpoint 2007/2010 で水平スクロール可能なオブジェクトとして配置するにはどうすればよいですか? そのまま貼り付けると、幅に合わせてサイズが変更されて読めなくなります。
チャートの水平スクロールバーを含めて高さを維持したい。
それができるかどうかはわかりません。私はあなたに興味深い代替案を与えることができると言った. :)
グラフが 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
これは別の角度から問題にアプローチしたため、まったく新しい回答を投稿しています:)
このメソッドは、私の最後のコメントに続きます
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=ルート