カスタム検索
リボン関連

右クリックメニューからグラフを画像で保存する(Excel 2010)

※ この情報はOffice 2010 Public Beta版を元にしています。製品版では変更になる可能性がありますのでご注意ください。

 

今回はExcel 2010でグラフエリアの右クリックメニューから、グラフを画像で保存する方法を紹介します。

 

1. Excelファイルを開きます。
2. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます。

Option Explicit

Public Sub button_onAction(control As IRibbonControl)
  Call ChartExportImage(control.Tag)
End Sub

Private Sub ChartExportImage(ByVal ImageType As String)
  Dim FilePath As Variant
  
  If TypeName(Selection) <> "ChartArea" Then Exit Sub
  Select Case UCase$(ImageType)
    Case "GIF", "JPG", "PNG"
    Case Else
      Exit Sub
  End Select
  
  FilePath = Application.GetSaveAsFilename( _
        InitialFileName:=Selection.Name, _
        FileFilter:=ImageType & "ファイル(*." & ImageType & "),*." & ImageType & """", _
        FilterIndex:=1, _
        Title:="ファイルの保存先を選択してください")
  If FilePath = False Then Exit Sub
  Call Selection.Parent.Export(Filename:=FilePath, FilterName:=ImageType)
  MsgBox "「" & FilePath & "」に出力しました。", vbApplicationModal + vbInformation
End Sub
3. Custom UI Editor Toolで2.のファイルを開きます。
4. 下記コードを貼り付け、上書き保存します。
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <contextMenus>
    <contextMenu idMso="ContextMenuChartArea">
      <menu id="menuChartExportImage" label="Save As Image" imageMso="ChartSaveTemplates">
        <button id="btnChartExportGIF" label="Save As GIF" tag="gif" imageMso="PictureEffectsShadowGallery" onAction="button_onAction" />
        <button id="btnChartExportJPG" label="Save As JPEG" tag="jpg" imageMso="PictureEffectsShadowGallery" onAction="button_onAction" />
        <button id="btnChartExportPNG" label="Save As PNG" tag="png" imageMso="PictureEffectsShadowGallery" onAction="button_onAction" />
      </menu>
    </contextMenu>
  </contextMenus>
</customUI>
5. 4.のファイルをマクロを有効にして開きグラフエリアで右クリックメニューを表示すると、「Save As Image」メニューが表示されることが確認できます。

※ メニューにある「Save As GIF」「Save As JPEG」「Save As PNG」をクリックすることで、対象グラフエリアを画像として保存することができます。