Moderatori: Anthony47, Triumph Of Steel, archimede
Sub MakeImgs()
Dim I As Long, picRange As Range
Dim DPath As String, Result As String
'DPath = "c:\prova" '<<< La directory di salvataggio
For I = 1 To Worksheets.Count
Sheets(I).Select
Set picRange = Application.Intersect(ActiveWindow.VisibleRange, ActiveSheet.UsedRange)
Result = CopyRangeToJPG(picRange, "RTP_" & ActiveSheet.Name, DPath)
Debug.Print I, picRange.Address(0, 0), Result
Next I
Msgbox("Completato...")
End Sub
Function CopyRangeToJPG(ByRef myRan As Range, _
Optional ImgName As String = "NewPicName", _
Optional ByVal pPath As String = "") As String
'
Dim PictureRange As Range
Dim PicName As String
Dim cPos As Range, Extn As String
'
ImgName = ImgName & ".jpg"
If pPath = "" Then
pPath = Environ$("temp") & Application.PathSeparator
Else
If Right(pPath, 1) <> Application.PathSeparator Then
pPath = pPath & Application.PathSeparator
End If
End If
'
On Error Resume Next
Kill pPath & ImgName
On Error GoTo 0
Application.Wait (Now + TimeValue("0:00:01"))
'
Application.ScreenUpdating = False
Set cPos = ActiveWindow.RangeSelection
With ActiveWorkbook
On Error Resume Next
Application.Goto myRan.Cells(1, 1), scroll:=True
Set PictureRange = myRan
If PictureRange Is Nothing Then
CopyRangeToJPG = "" 'Se immagine non creata, restituisce stringa Nulla
Exit Function
End If
'
PictureRange.CopyPicture
With ActiveSheet.ChartObjects.Add(PictureRange.Left, PictureRange.Top, PictureRange.Width, PictureRange.Height)
.Activate
.Chart.Paste
.Chart.Export pPath & ImgName, "JPG"
End With
ActiveSheet.ChartObjects(ActiveSheet.ChartObjects.Count).Delete
End With
CopyRangeToJPG = pPath & ImgName
Set PictureRange = Nothing
Application.Goto cPos
Application.ScreenUpdating = True
DoEvents
End Function
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Excel: problema con date se devo unirle a testi Autore: valle1975 |
Forum: Applicazioni Office Windows Risposte: 4 |
Visitano il forum: Nessuno e 6 ospiti