Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20586 / 76732 ←次へ | 前へ→

【61560】Re:画像の右上のセルに保存する画像名を置く
お礼  ai  - 09/5/17(日) 21:40 -

引用なし
パスワード
   色々考えた結果できました!!
ありがとうございました(_ _)


Sub 画像Jpeg保存余白無し()
Dim AcSh As Worksheet, NwBk As Workbook
Dim Obj As Object, Crt As Chart, CrtNm As String
Dim Rgh As Double, Rgw As Double
Dim LT As String, BR As String, 図形右上セル As String
Dim 画像名 As String
Dim 遠近 As String

'現在のシートを省略して使う用にセット
Set AcSh = ActiveSheet
Set NwBk = Workbooks.Add
Set Crt = NwBk.Sheets(1).ChartObjects.Add(0, 0, Rgw, Rgh).Chart
CrtNm = Mid(Crt.Name, InStr(1, Crt.Name, " ") + 1)

For Each Obj In AcSh.DrawingObjects.ShapeRange
  'グループ化については無視。
  If Obj.Type = msoPicture Then

   '左上
   LT = Obj.TopLeftCell.Address
   '右下
   BR = Obj.BottomRightCell.Address
   図形右上セル = AcSh.Range(LT, BR).Rows(1).Cells(AcSh.Range(LT, BR).Rows(1).Cells.Count).Address
   If AcSh.Range(図形右上セル).Row <> 1 Then
     画像名 = AcSh.Range(図形右上セル).Offset(-3, -4).Value
      If 画像名 <> "" Then
        画像名 = AcSh.Range(図形右上セル).Offset(-3, -4).Value
      Else
        画像名 = AcSh.Range(図形右上セル).Offset(-14, -4).Value
      End If
     遠近 = AcSh.Range(図形右上セル).Offset(-2, -7).Value
   Else
     画像名 = AcSh.Range(図形右上セル).Offset(, 1).Value
   End If

   Rgh = Obj.Height - 0.5
   Rgw = Obj.Width - 0.5
   NwBk.Sheets(1).ChartObjects(CrtNm).Height = Rgh
   NwBk.Sheets(1).ChartObjects(CrtNm).Width = Rgw
   Obj.CopyPicture Format:=xlBitmap

   With Crt
     .Paste
     .ChartArea.Border.LineStyle = 0

     NwBk.Sheets(1).ChartObjects(CrtNm).Chart.Shapes(1).IncrementLeft -4
     NwBk.Sheets(1).ChartObjects(CrtNm).Chart.Shapes(1).IncrementTop -4
  
     .Export CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & "R-" & 画像名 & "_" & 遠近 & ".jpg"
     DoEvents
   End With
   NwBk.Sheets(1).ChartObjects(CrtNm).Chart.Shapes(1).Delete
  End If
Next
NwBk.Sheets(1).ChartObjects(CrtNm).Delete
NwBk.Close (False)
Set AcSh = Nothing
Set NwBk = Nothing
Set Crt = Nothing
End Sub
0 hits

【61554】画像の右上のセルに保存する画像名を置く ai 09/5/17(日) 19:16 質問
【61555】Re:画像の右上のセルに保存する画像名を置く かみちゃん 09/5/17(日) 19:40 発言
【61556】Re:画像の右上のセルに保存する画像名を置く ai 09/5/17(日) 20:04 発言
【61557】Re:画像の右上のセルに保存する画像名を置く かみちゃん 09/5/17(日) 20:58 発言
【61558】Re:画像の右上のセルに保存する画像名を置く ai 09/5/17(日) 21:19 発言
【61559】Re:画像の右上のセルに保存する画像名を置く かみちゃん 09/5/17(日) 21:35 発言
【61560】Re:画像の右上のセルに保存する画像名を置く ai 09/5/17(日) 21:40 お礼

20586 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free