1

グラフをExcel-VBAに画像として保存しようとしています。このために、以下のコードを使用しています。これは Excel 2007 では問題なく機能しますが、Excel 2010 では、拡張する必要があるグラフ オブジェクトにより大きなディメンションが必要です。したがって、+ 1 の代わりに + 4 を使用します。これを行うと、下部と右側に線ができます (フレームのように見えます)。これらの行を取り除く方法について誰か考えがありますか?

        '1. copy to clipboard
        '2. create new chart object with greater dimensions (office 2010 requirement), round because shape size is double (e.g. 200.5px)
        '3. Paste clipboard content
        '4. export chart, delete afterwards
        Dim shp As Shape
        Dim sht As Worksheet
        Set sht = Application.ActiveWorkbook.Sheets(shtName)
        Set shp = sht.Shapes(chrtName)
        shp.CopyPicture xlScreen, xlBitmap
        Dim objChart As ChartObject
        Set objChart = sht.ChartObjects.Add(200, 200, Round(shp.Width + 1, 0), Round(shp.Height + 1, 0))

        'Set objChart = sht.ChartObjects.Add(200, 200, Round(shp.Width + 4, 0), Round(shp.Height + 4, 0))

        objChart.Activate
        ActiveChart.Paste
        ActiveChart.Export Filename:=fullPath, Filtername:=Right(fullPath, 3)
        objChart.Delete
4

0 に答える 0