web-dev-qa-db-ja.com

Microsoft ExcelでPNGまたはGIFファイルにグラフを保存するにはどうすればよいですか?

Microsoft ExcelでPNGまたはGIFファイルにグラフを保存するにはどうすればよいですか?

HTMLファイルとして保存し、そこに作成された画像を使用できることはわかっていますが、不要な他のファイルを作成しない方法があると思います。それが推奨されるオプションである場合、私はアドインをインストールして満足です。

必要に応じて、Excel 2003と2007を使用しています。

27
fmark

Excelにはユーザーがアクセスできるこの機能のサポートがありませんが、これを簡単に回避するか、この機能が提供されているVBAに掘り込むことができます


「ワンショット」エクスポート

  • グラフを選択します(内部コンポーネントではなくグラフ全体なので、境界線を選択します)。
  • それをコピーします(ctrl-c、右クリックでコピー、好きなように)。
  • MSペイントを開きます。
  • 貼り付けます(最初に画像サイズを最小化することをお勧めします。画像は収まるように拡大されますが、縮小されません)。
  • 必要に応じて保存します。

一括エクスポート

VBAマクロでのActiveChart.Exportの使用を確認することをお勧めします。これにより、ファイルパスを指定して、Excelで作業を行うことができます。

以下は、私がまとめた作業用プロトタイプです。これを実行すると、アクティブなブック内のeveryグラフが、そのファイルと同じフォルダに、_chart##が追加されたPNG形式でエクスポートされますファイル名(##は増加する番号です)。

それはしない安全チェックを実行します(したがってファイルを上書きします!)そしてはしませんエラーチェックが含まれています。ワークブックをまだ保存していない、場所が読み取り専用である、またはファイルの場所への書き込みを妨げるその他の場合、機能しません。私はこれをExcel 2003でのみテストしました(現時点ではこれですべてです)。

言い換えると、自己責任で使用、これは基本的な作業例のみとして意図されています。

'small nicety to ensure two-digits for better file sorting'
Function NiceFileNumber(num As Integer) As String
    If num < 10 Then
        NiceFileNumber = "0" & num
    Else
        NiceFileNumber = num
    End If
End Function

'the real function'
Sub ExportAllCharts()
    Dim i As Integer, exportCount As Integer
    Dim fileNum As String, fileBase As String
    Dim sheetObj As Worksheet
    Dim chartObj As Chart

    'current file location and name, with extension stripped'
    fileBase = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".") - 1)
    exportCount = 0

    'First, export all charts that are in their own sheets'
    For Each chartObj In ActiveWorkbook.Charts
        fileNum = NiceFileNumber(exportCount)
        exportCount = exportCount + 1

        'Do the export'
        chartObj.Export fileBase & "_chart" & fileNum & ".png"
    Next

    'Then, export all charts that are embedded inside normal sheets'
    For Each sheetObj In ActiveWorkbook.Worksheets
        For i = 1 To sheetObj.ChartObjects.count
            fileNum = NiceFileNumber(exportCount)
            exportCount = exportCount + 1

            'Do the export'
            sheetObj.ChartObjects(i).Activate
            ActiveChart.Export fileBase & "_chart" & fileNum & ".png"
        Next i
    Next
End Sub

注:コメントは両端で'sで囲みましたが、これは必要ありませんが、ここでコメントが正しく色付けされていることを確認するのに役立ちます。

34
DMA57361

最良の方法は、ExcelファイルをHTMLとして保存することです。

次に、画像が保存されているフォルダに移動すると、必要なPNG画像が表示されます。

4
João Pimentel

安全にPNGに変換するには、図をExcelからコピーし、Power Pointのスライドに貼り付けてから、次の操作を実行します。

名前を付けて保存その他の形式、目的の形式を選択します。次に、これを現在のスライドのみに適用するか、すべてのスライドに適用するかを尋ねます。すべてのスライドを選択すると、指定したディレクトリにフォルダーが作成され、各スライドが選択した形式で独自のファイルに保存されます。

あまりエレガントではありませんが、ファイルが必要なだけの場合は十分高速であり、同じグラフですでにプレゼンテーションを作成している場合は特に役立ちます。

3
sgildea

古いスレッドですが、誰かがGoogleからここに来た場合に備えて、Excel 2011 for Macの右クリックメニューに[画像として保存]オプションがあり、これを正確に実行できます。

2
Dave Mulligan

Excel 2010では、次の方法でこれを行うことができます。

  1. グラフをクリックして選択します。
  2. CTRL + Cを使用するか、右クリックして[コピー]を選択してコピーします。
  3. グラフィック編集プログラムに切り替えます(私は Paint.net を使用しました)。
  4. ペースト。

次に、好きな形式で画像を保存できます。

0
Will Martin

Greenshot (スクリーンキャプチャソフトウェア)を使用している場合は、Excelでグラフをコピーできます(Ctrl+C)、次にGreenshotのアイコンを右クリックし、クリップボードから画像を開くを選択して保存します。グラフィックエディタを使用する必要はありません。

0
gronostaj