may the VBA be with you

Excel VBAとか業務自動化とか

Excelでドット絵作成ツールを作る その4

お断り

今回は、あんまりすすんでいませんという報告のみです。

取り組んでいること

セル範囲を画像で出力

www.excel-excel.com

こちらを参考に、セル範囲を画像で(グラフに貼り付ける方法で)出力しようとしています。

'ファイル保存ダイアログ
Function getSaveFileName() As String
  Dim fPath As String

  fPath = Application.GetSaveAsFilename(fileFilter:="JPGファイル (*.jpg), *.jpg")
  If fPath = "False" Then
    getSaveFileName = ""
  Else
    getSaveFileName = fPath
  End If
End Function

'画像出力
Sub imgOut()
  Dim rg As Range
  Dim cht As Chart
  Dim fName As String
  '保存ファイル名を取得
  fName = getSaveFileName
  If fName <> "" Then
    '選択範囲を取得
    Set rg = Sheets("ドット絵作成").Range("G2:AB23")
    Set cht = ActiveSheet.ChartObjects.Add(0, 0, rg.Width, rg.Height).Chart
    rg.CopyPicture appearance:=xlScreen, Format:=xlPicture
    cht.Paste
    cht.Export Filename:=fName, filtername:="JPG"
    cht.Parent.Delete
  End If
End Sub

問題点

  • 真っ白になったりする(F8でステップインしていくと画像出力自体はできる)
  • 画像出力自体できても、左上が白くなっている

という状況で、色々と試しているところです。

f:id:vba-belle-equipe:20160502211818p:plain

画像は途中で止めて、グラフに貼り付けた状態。


なんでこーなるの!?