[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『画像の保存』(狭山)
お世話になります。
前回教えていただきましたコードとは違うのですが
エクセル画像を画像処理(後)というファイルに保存となるのですが
エクセル2013ではJPGとして保存されるのですが
2016でエラーが出ないのですが画像が”真っ白状態”になってしまいます。
2013と2016の両方で実行して画像を保存することは可能であれば
ご教授をお願いいたします。
Sub PictureSave()
Dim objFile As Object Dim Fname As String Dim ACWidth As Single Dim ACHeight As Single Dim TCht As Object Dim TargetRow As String For Each objFile In ActiveSheet.Shapes If objFile.Name Like "AddGroup*" Then objFile.CopyPicture TargetRow = Replace(objFile.Name, "AddGroup", "") TargetRow = (TargetRow - 1) * 29 + 2 If Cells(TargetRow, 8).Value <> "" Then Fname = Cells(TargetRow, 8).Value Else Fname = "H" & TargetRow & "_NoData" & ".jpg" End If ACWidth = 499 tobj.Width ACHeight = 674 tobj.Height Set TCht = ActiveSheet.ChartObjects.Add(0, 0, ACWidth * 0.8, ACHeight * 0.8).Chart TCht.Paste TCht.Export Filename:=ThisWorkbook.Path & "\" & "画像処理(後)" & "\" & Fname, filtername:="JPG" TCht.Parent.Delete End If Next End Sub
< 使用 Excel:Excel2013、使用 OS:Windows7 >
http://www.excel.studio-kazu.jp/kw/20181207212356.html
(狭山) 2019/01/11(金) 21:42
の直前に、
TCht.parent.select
を追加してください。
(マナ) 2019/01/11(金) 22:09
J列を画像化して貼り付けです。
Sub CreateCellData()
Dim i As Long Dim j As Long Dim EndRow As Long EndRow = Cells(Rows.Count, 7).End(xlUp).Row j = 0 Call Module1.GroupClear Call Module1.AddCellPictureDelete ' Columns("J:J").ClearContents For i = 2 To EndRow Step 29 j = j + 1 If Cells(i, 7).Value <> "" And Cells(i + 1, 12).Value = "○" And Cells(i, 13).Value <> "" Then ' Call Module1.SubCreateCellData1(i) Call Module1.SubCreateCellData2(j) Call Module1.ShapesIncrementop Call Module1.SubCreateCellData3(j) End If Next End Sub
セルを画像化して貼り付けです。
Sub SubCreateCellData2(CellPicture As Long)
Dim Row1 As Long Dim Row2 As Long Dim Row3 As Long Row1 = (CellPicture - 1) * 29 + 1 Row2 = Row1 + 11 Row3 = Row1 + 19 Range(Cells(Row1, 10), Cells(Row2, 10)).CopyPicture Cells(Row3, 2).PasteSpecial Selection.Name = "AddCellPicture" & CellPicture
'---------------------------------------------
'高さを5.2に調整 Selection.ShapeRange.LockAspectRatio = msoFalse '縦横比を非固定にする Selection.ShapeRange.Height = 149.2 '149=5.19 149.2=5.2 150=5.23 '---------------------------------------------
End Sub
(狭山) 2019/01/12(土) 11:39
Set TCht = ActiveSheet.ChartObjects.Add(0, 0, ACWidth * 0.8, ACHeight * 0.8).Chart TCht.ChartArea.Border.LineStyle = xlLineStyleNone
(マナ) 2019/01/12(土) 12:35
Set TCht = ActiveSheet.ChartObjects.Add(0, 0, ACWidth * 0.8, ACHeight * 0.8).Chart
TCht.Paste
↓
Set TCht = ActiveSheet.ChartObjects.Add(0, 0, ACWidth * 0.8, ACHeight * 0.8).Chart
TCht.ChartArea.Border.LineStyle = xlLineStyleNone
移行後の画像が真っ白で表示されてしまいます。
ご教授をお願いいたします。
(狭山) 2019/01/12(土) 20:32
は、必要ですよ。
(マナ) 2019/01/12(土) 21:00
(マナ) 2019/01/12(土) 22:15
ありがとうございました。
また、宜しくお願い致します。
(狭山) 2019/01/12(土) 22:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.