How to convert range of image file path from local folder as comment in the selected destination range?












0












$begingroup$


I'm asking for your help. My research ended up in 2 different macros that combined will give a good utility for my work.




  1. This VBA code will insert image as comment.

  2. This VBA code will fetch Hyperlinks(Local folder path only, not web
    based URL) and paste them in destination cell.


I really tried to combine them to do one job, but I guess I don’t have enough knowledge on this.



I tried to make a single script that gets the links from source range



Set Rng = Application.InputBox("Please select the url cells:")


Then prompt for destination cells (Application.InputBox("Please select a cell to put the image as comment:).



Now This is the tricky part for me, I need the images to be inserted as comment as the 1st code does to the destination range user selects.



Can anyone guide to achieve this excellent tweak



Sub InsertPictureAsComment()
Dim PicturePath As String
Dim CommentBox As Comment
'Pick A File to Add via Dialog (PNG or JPG)
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.title = "Select Comment Image"
.ButtonName = "Insert Image"
.Filters.clear
.Filters.Add "Images", "*.png; *.jpg"
.Show

'Store Selected File Path
On Error GoTo UserCancelled
PicturePath = .SelectedItems(1)
On Error GoTo 0
End With

'Clear Any Existing Comment
Application.ActiveCell.ClearComments

'Create a New Cell Comment
Set CommentBox = Application.ActiveCell.AddComment

'Remove Any Default Comment Text
CommentBox.Text Text:=""

'Insert The Image and Resize
CommentBox.Shape.Fill.UserPicture (PicturePath)
CommentBox.Shape.ScaleHeight 6, msoFalse, msoScaleFormTopLeft
CommentBox.Shape.ScaleWidth 4.8, msoFalse, msoScaleFromTopLeft

'Ensure Comment is Hidden (Swith to TRUE if you want visible)
CommentBox.Visible = False

Exit Sub

'ERROR HANDLERS
UserCancelled: MsgBox "Done"
End Sub


'Next code-



Sub URLToCellPictureInsert()

Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long

On Error Resume Next

Set Rng = Application.InputBox("Please select the url cells:", "", Selection.Address, , , , , 8)
If Rng Is Nothing Then Exit Sub
Set xRg = Application.InputBox("Please select a cell to put the image as comment:", "", , , , , , 8)

If xRg Is Nothing Then Exit Sub

Application.ScreenUpdating = False

For i = 1 To Rng.Count
filenam = Rng(i)
ActiveSheet.Pictures.Insert(filenam).Select
Set Pshp = Selection.ShapeRange.Item(1)

If Pshp Is Nothing Then GoTo lab

xCol = cell.Column + 1
Set xRg = xRg.Offset(i - 1, 0)
With Pshp
.LockAspectRatio = msoFalse
.Width = 80
.Height = 80
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Range("A2").Select
Next

Application.ScreenUpdating = True
End Sub









share|improve this question







New contributor




Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$

















    0












    $begingroup$


    I'm asking for your help. My research ended up in 2 different macros that combined will give a good utility for my work.




    1. This VBA code will insert image as comment.

    2. This VBA code will fetch Hyperlinks(Local folder path only, not web
      based URL) and paste them in destination cell.


    I really tried to combine them to do one job, but I guess I don’t have enough knowledge on this.



    I tried to make a single script that gets the links from source range



    Set Rng = Application.InputBox("Please select the url cells:")


    Then prompt for destination cells (Application.InputBox("Please select a cell to put the image as comment:).



    Now This is the tricky part for me, I need the images to be inserted as comment as the 1st code does to the destination range user selects.



    Can anyone guide to achieve this excellent tweak



    Sub InsertPictureAsComment()
    Dim PicturePath As String
    Dim CommentBox As Comment
    'Pick A File to Add via Dialog (PNG or JPG)
    With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = True
    .title = "Select Comment Image"
    .ButtonName = "Insert Image"
    .Filters.clear
    .Filters.Add "Images", "*.png; *.jpg"
    .Show

    'Store Selected File Path
    On Error GoTo UserCancelled
    PicturePath = .SelectedItems(1)
    On Error GoTo 0
    End With

    'Clear Any Existing Comment
    Application.ActiveCell.ClearComments

    'Create a New Cell Comment
    Set CommentBox = Application.ActiveCell.AddComment

    'Remove Any Default Comment Text
    CommentBox.Text Text:=""

    'Insert The Image and Resize
    CommentBox.Shape.Fill.UserPicture (PicturePath)
    CommentBox.Shape.ScaleHeight 6, msoFalse, msoScaleFormTopLeft
    CommentBox.Shape.ScaleWidth 4.8, msoFalse, msoScaleFromTopLeft

    'Ensure Comment is Hidden (Swith to TRUE if you want visible)
    CommentBox.Visible = False

    Exit Sub

    'ERROR HANDLERS
    UserCancelled: MsgBox "Done"
    End Sub


    'Next code-



    Sub URLToCellPictureInsert()

    Dim Pshp As Shape
    Dim xRg As Range
    Dim xCol As Long

    On Error Resume Next

    Set Rng = Application.InputBox("Please select the url cells:", "", Selection.Address, , , , , 8)
    If Rng Is Nothing Then Exit Sub
    Set xRg = Application.InputBox("Please select a cell to put the image as comment:", "", , , , , , 8)

    If xRg Is Nothing Then Exit Sub

    Application.ScreenUpdating = False

    For i = 1 To Rng.Count
    filenam = Rng(i)
    ActiveSheet.Pictures.Insert(filenam).Select
    Set Pshp = Selection.ShapeRange.Item(1)

    If Pshp Is Nothing Then GoTo lab

    xCol = cell.Column + 1
    Set xRg = xRg.Offset(i - 1, 0)
    With Pshp
    .LockAspectRatio = msoFalse
    .Width = 80
    .Height = 80
    .Top = xRg.Top + (xRg.Height - .Height) / 2
    .Left = xRg.Left + (xRg.Width - .Width) / 2
    End With
    lab:
    Set Pshp = Nothing
    Range("A2").Select
    Next

    Application.ScreenUpdating = True
    End Sub









    share|improve this question







    New contributor




    Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      0












      0








      0





      $begingroup$


      I'm asking for your help. My research ended up in 2 different macros that combined will give a good utility for my work.




      1. This VBA code will insert image as comment.

      2. This VBA code will fetch Hyperlinks(Local folder path only, not web
        based URL) and paste them in destination cell.


      I really tried to combine them to do one job, but I guess I don’t have enough knowledge on this.



      I tried to make a single script that gets the links from source range



      Set Rng = Application.InputBox("Please select the url cells:")


      Then prompt for destination cells (Application.InputBox("Please select a cell to put the image as comment:).



      Now This is the tricky part for me, I need the images to be inserted as comment as the 1st code does to the destination range user selects.



      Can anyone guide to achieve this excellent tweak



      Sub InsertPictureAsComment()
      Dim PicturePath As String
      Dim CommentBox As Comment
      'Pick A File to Add via Dialog (PNG or JPG)
      With Application.FileDialog(msoFileDialogFilePicker)
      .AllowMultiSelect = True
      .title = "Select Comment Image"
      .ButtonName = "Insert Image"
      .Filters.clear
      .Filters.Add "Images", "*.png; *.jpg"
      .Show

      'Store Selected File Path
      On Error GoTo UserCancelled
      PicturePath = .SelectedItems(1)
      On Error GoTo 0
      End With

      'Clear Any Existing Comment
      Application.ActiveCell.ClearComments

      'Create a New Cell Comment
      Set CommentBox = Application.ActiveCell.AddComment

      'Remove Any Default Comment Text
      CommentBox.Text Text:=""

      'Insert The Image and Resize
      CommentBox.Shape.Fill.UserPicture (PicturePath)
      CommentBox.Shape.ScaleHeight 6, msoFalse, msoScaleFormTopLeft
      CommentBox.Shape.ScaleWidth 4.8, msoFalse, msoScaleFromTopLeft

      'Ensure Comment is Hidden (Swith to TRUE if you want visible)
      CommentBox.Visible = False

      Exit Sub

      'ERROR HANDLERS
      UserCancelled: MsgBox "Done"
      End Sub


      'Next code-



      Sub URLToCellPictureInsert()

      Dim Pshp As Shape
      Dim xRg As Range
      Dim xCol As Long

      On Error Resume Next

      Set Rng = Application.InputBox("Please select the url cells:", "", Selection.Address, , , , , 8)
      If Rng Is Nothing Then Exit Sub
      Set xRg = Application.InputBox("Please select a cell to put the image as comment:", "", , , , , , 8)

      If xRg Is Nothing Then Exit Sub

      Application.ScreenUpdating = False

      For i = 1 To Rng.Count
      filenam = Rng(i)
      ActiveSheet.Pictures.Insert(filenam).Select
      Set Pshp = Selection.ShapeRange.Item(1)

      If Pshp Is Nothing Then GoTo lab

      xCol = cell.Column + 1
      Set xRg = xRg.Offset(i - 1, 0)
      With Pshp
      .LockAspectRatio = msoFalse
      .Width = 80
      .Height = 80
      .Top = xRg.Top + (xRg.Height - .Height) / 2
      .Left = xRg.Left + (xRg.Width - .Width) / 2
      End With
      lab:
      Set Pshp = Nothing
      Range("A2").Select
      Next

      Application.ScreenUpdating = True
      End Sub









      share|improve this question







      New contributor




      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      I'm asking for your help. My research ended up in 2 different macros that combined will give a good utility for my work.




      1. This VBA code will insert image as comment.

      2. This VBA code will fetch Hyperlinks(Local folder path only, not web
        based URL) and paste them in destination cell.


      I really tried to combine them to do one job, but I guess I don’t have enough knowledge on this.



      I tried to make a single script that gets the links from source range



      Set Rng = Application.InputBox("Please select the url cells:")


      Then prompt for destination cells (Application.InputBox("Please select a cell to put the image as comment:).



      Now This is the tricky part for me, I need the images to be inserted as comment as the 1st code does to the destination range user selects.



      Can anyone guide to achieve this excellent tweak



      Sub InsertPictureAsComment()
      Dim PicturePath As String
      Dim CommentBox As Comment
      'Pick A File to Add via Dialog (PNG or JPG)
      With Application.FileDialog(msoFileDialogFilePicker)
      .AllowMultiSelect = True
      .title = "Select Comment Image"
      .ButtonName = "Insert Image"
      .Filters.clear
      .Filters.Add "Images", "*.png; *.jpg"
      .Show

      'Store Selected File Path
      On Error GoTo UserCancelled
      PicturePath = .SelectedItems(1)
      On Error GoTo 0
      End With

      'Clear Any Existing Comment
      Application.ActiveCell.ClearComments

      'Create a New Cell Comment
      Set CommentBox = Application.ActiveCell.AddComment

      'Remove Any Default Comment Text
      CommentBox.Text Text:=""

      'Insert The Image and Resize
      CommentBox.Shape.Fill.UserPicture (PicturePath)
      CommentBox.Shape.ScaleHeight 6, msoFalse, msoScaleFormTopLeft
      CommentBox.Shape.ScaleWidth 4.8, msoFalse, msoScaleFromTopLeft

      'Ensure Comment is Hidden (Swith to TRUE if you want visible)
      CommentBox.Visible = False

      Exit Sub

      'ERROR HANDLERS
      UserCancelled: MsgBox "Done"
      End Sub


      'Next code-



      Sub URLToCellPictureInsert()

      Dim Pshp As Shape
      Dim xRg As Range
      Dim xCol As Long

      On Error Resume Next

      Set Rng = Application.InputBox("Please select the url cells:", "", Selection.Address, , , , , 8)
      If Rng Is Nothing Then Exit Sub
      Set xRg = Application.InputBox("Please select a cell to put the image as comment:", "", , , , , , 8)

      If xRg Is Nothing Then Exit Sub

      Application.ScreenUpdating = False

      For i = 1 To Rng.Count
      filenam = Rng(i)
      ActiveSheet.Pictures.Insert(filenam).Select
      Set Pshp = Selection.ShapeRange.Item(1)

      If Pshp Is Nothing Then GoTo lab

      xCol = cell.Column + 1
      Set xRg = xRg.Offset(i - 1, 0)
      With Pshp
      .LockAspectRatio = msoFalse
      .Width = 80
      .Height = 80
      .Top = xRg.Top + (xRg.Height - .Height) / 2
      .Left = xRg.Left + (xRg.Width - .Width) / 2
      End With
      lab:
      Set Pshp = Nothing
      Range("A2").Select
      Next

      Application.ScreenUpdating = True
      End Sub






      vba excel macros






      share|improve this question







      New contributor




      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 15 mins ago









      Karthik KarthikKarthik Karthik

      1




      1




      New contributor




      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Karthik Karthik is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function () {
          return StackExchange.using("mathjaxEditing", function () {
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          });
          });
          }, "mathjax-editing");

          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "196"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Karthik Karthik is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f211746%2fhow-to-convert-range-of-image-file-path-from-local-folder-as-comment-in-the-sele%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Karthik Karthik is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Karthik Karthik is a new contributor. Be nice, and check out our Code of Conduct.













          Karthik Karthik is a new contributor. Be nice, and check out our Code of Conduct.












          Karthik Karthik is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f211746%2fhow-to-convert-range-of-image-file-path-from-local-folder-as-comment-in-the-sele%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          TypeError: fit_transform() missing 1 required positional argument: 'X'