2017-05-29 27 views
1

私はvbaを使って.pngのフォルダにあるいくつかのファイルを.jpgに変換しようとしていますが、それを行うコードでは終わりません。 Excelでイメージを貼り付けてjpgとしてエクスポートしようとしましたが、動作していないようですが、誰かがこれを手伝ってくれますか? 私は は誰も私を助けることができる「このメンバーは唯一のチャートオブジェクトのためにaccesedすることができます」ので、私はこのライン複数のpngファイルをjpegに変換するには

ThisWorkbook.ActiveSheet.ChartObjects("foto").Chart.Export Filename:=x, FilterName:="JPEG" 

上のエラーを取得する 私はそうしようとしたコードがありますか?

On Error Resume Next 
    DisplayAlerts = True 
    Application.ScreenUpdating = True 
    Dim Pathh As String 
    Dim fila As Integer 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Pathh = "C:\Users\jojeda\Desktop\Pruebas JPEG\" 
    Set carpeta = fso.getfolder(Pathh) 
    Set ficheros = carpeta.Files 
    For Each ficheros In ficheros 
    'I belive the code should be here 

b = "C:\Users\jojeda\Desktop\Pruebas JPEG\" & ficheros.Name 
     With ThisWorkbook.ActiveSheet.Pictures.Insert(b) 
     .Placement = 1 
     .Name = "foto" 
     .PrintObject = True 
     End With 
     ThisWorkbook.Worksheets("Sheet1").Cells(1, 6) = b 
     ThisWorkbook.Worksheets("Sheet1").Range("F1").Replace ".png", ".jpg", xlPart 
     b = ThisWorkbook.Worksheets("Sheet1").Cells(1, 6) 
     x = Right(b, 8) 


    ThisWorkbook.ActiveSheet.ChartObjects("foto").Chart.Export Filename:=x, FilterName:="JPEG" 
    ThisWorkbook.Sheets("Sheet1").Shapes("foto").Delete 
     Next ficheros 

DisplayAlerts = True 
Application.ScreenUpdating = True 
+0

避け[VBAのベストプラクティス - エラー処理](https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/5411 /エラー処理))。その行を削除し、/(編集)をあなたの質問に追加してください。あなたはどの行にエラーがあり、どのようなエラーが発生しますか? –

+0

ありがとう、私はちょうど質問を編集し、私は今どこにエラーが表示されますが、私はそれを行う方法を見つけることができません? –

答えて

1

が、私は自分の質問に対する解決策を思い付いた、私は場合には、誰もがこのような何かを探している、チャートの画像をロードし、別のフォルダに、JPEGファイルとしてエクスポートすることになりました、これはコードです:それだけでエラーメッセージが(参照ミュートのでNext`を再開エラーでは `使用

Sub Button1_Click() 
DisplayAlerts = True 
    Application.ScreenUpdating = True 
    Dim Pathh As String 
    Dim fila As Integer 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Pathh = "C:\Users\jojeda\Desktop\Pruebas JPEG\" 
    Set carpeta = fso.getfolder(Pathh) 
    Set ficheros = carpeta.Files 
    For Each ficheros In ficheros 
     b = "C:\Users\jojeda\Desktop\Pruebas JPEG\" & ficheros.Name 
     c = "C:\Users\jojeda\Desktop\Pruebas JPEG2\" & ficheros.Name 
     Set blab = ThisWorkbook.ActiveSheet.ChartObjects.Add(Left:=200, Width:=200, Top:=80, Height:=200) 
     blab.Name = "foto" 
     blab.Activate 
     ActiveChart.ChartArea.Format.Fill.UserPicture (b) 
     ThisWorkbook.Worksheets("Sheet1").Cells(1, 6) = b 
     ThisWorkbook.Worksheets("Sheet1").Range("F1").Replace ".png", ".jpeg", xlPart 
     b = ThisWorkbook.Worksheets("Sheet1").Cells(1, 6) 
    ThisWorkbook.Worksheets("Sheet1").ChartObjects("foto").Chart.Export Filename:=c, FilterName:="JPEG" 
    ThisWorkbook.Sheets("Sheet1").Shapes("foto").Delete 
     Next ficheros 

DisplayAlerts = True 
Application.ScreenUpdating = True 
End Sub 
+0

解決策としてあなた自身の答えを受け入れることができます。誰もがこの問題が解決されたことを知ることができます。 –

+1

Thaks Peh、私は質問を解決するときにそれを試みたが、私は自分の答えを受け入れるために2日待たなければならない:( –

関連する問題