Search This Blog

Tuesday, January 17, 2017

How to extract images from comments in Excel?

If you want to extract and save the images from comments into a folder, please do as follows:
1. Copy the sheet which contains the comments with images that you want to save into a new blank workbook.
doc extract image from comment 1
2. And then click File > Save As to save this new workbook as Web Page format in a specific folder, see screenshot:
doc extract image from comment 2
3. Then click Save button to save the file, then go to the specific folder to view the saved images, two files are generated in the folder, one is the html file, and another is a folder that contains all the images and other files, see screenshot:
doc extract image from comment 3

Extract images from comments into cells with VBA code

If you want to extract the images from comments into cells as following screenshot shown, here, I can create a VBA code for you, please do as this:
doc extract image from comment 4
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Extract images from comments into cells:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub CommentPictures()
'Updateby Extendoffcie 20161207
    Dim cmt As Comment
    Dim xRg As Range
    Dim visBool As Boolean
    Dim cmtTxt As String
    Dim jpgPath As String
    Dim shpHeight As Integer, shpWidth As Integer
    Application.ScreenUpdating = False
    For Each cmt In ActiveSheet.Comments
        With cmt
            cmtTxt = .Text
            shpHeight = .Shape.Height
            shpWidth = .Shape.Width
            .Text Text:="" & Chr(10) & ""
            visBool = .Visible
            .Visible = True
            On Error Resume Next
            Set xRg = .Parent.Offset(0, 1)
            .Shape.CopyPicture _
              Appearance:=xlScreen, Format:=xlPicture
            xRg.PasteSpecial
            Selection.ShapeRange.LockAspectRatio = msoFalse
            Selection.Width = xRg.Width
            Selection.Height = xRg.Height
            .Visible = visBool
            .Text Text:=cmtTxt
        End With
    Next cmt
    Application.ScreenUpdating = True
End Sub
3. Then press F5 key to run this code, and all the images of the comments in current worksheet have been extracted into the next column cells, see screenshot:
doc extract image from comment 4

No comments:

Post a Comment