How to convert range of image file path from local folder as comment in the selected destination range?
$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.
- This VBA code will insert image as comment.
- 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
New contributor
$endgroup$
add a comment |
$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.
- This VBA code will insert image as comment.
- 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
New contributor
$endgroup$
add a comment |
$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.
- This VBA code will insert image as comment.
- 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
New contributor
$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.
- This VBA code will insert image as comment.
- 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
vba excel macros
New contributor
New contributor
New contributor
asked 15 mins ago
Karthik KarthikKarthik Karthik
1
1
New contributor
New contributor
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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