[英]Excel VBA to insert comments on selected cells and filled them with pictures
我有一個150多個單元的列表,其中包含到本地硬盤上圖像的超鏈接,昨天我找到了一種通過插入注釋並用圖片填充背景來彈出這些圖像的方法。 很難一一完成,所以我想讓VBA腳本在選定的單元格上插入注釋,並用超鏈接位於每個單元格中的圖像填充注釋背景。
那有可能還是我應該手動進行?
這是單元格內容的示例
I1 D:\My Pictures\example 001.jpg
I2 D:\My Pictures\example 021.jpg
I3 D:\My Pictures\example 030.jpg
記錄宏表明以上是可能的。 不過,需要進行一些微調。 例如,以下宏通過注釋為A1
創建一個圖像彈出窗口。
Sub Test()
Dim Comm As Comment
On Error Resume Next
Range("A1").AddComment
Range("A1").Comment.Visible = False
Set Comm = Range("A1").Comment
Comm.Shape.Fill.UserTextured "C:\foo\bar.gif"
End Sub
On Error Resume Next
用於處理已經有注釋的范圍,因此您可以繼續重復運行宏。 我將.Visible
設置為False
為了確保圖像不會成為永久彈出窗口(應該僅在懸停時顯示)。
我們可以進一步調整上述內容,以創建一個以范圍和字符串作為參數的子例程,以便我們可以跨范圍重復調用它。
Sub CreatePopUp(TargetRange As Range, PathToImage As String)
Dim Comm As Comment
On Error Resume Next
With TargetRange
.AddComment
.Comment.Visible = False
Set Comm = .Comment
End With
Comm.Shape.Fill.UserTextured PathToImage
End Sub
上面可以這樣稱呼:
Sub MassPopUp()
Dim rCell As Range
For Each rCell In [A1:A10]
CreatePopUp rCell, "Blah"
Next
End Sub
讓我們知道是否有幫助。
例如,如果您的日期在I1:I10
,並且它們包含圖像文件的確切路徑,那么上面的內容可以這樣寫:
Sub MassPopUp()
Dim rCell As Range
For Each rCell In [I1:I10]
CreatePopUp rCell, rCell.Value
Next
End Sub
rCell.Value
將獲取單元格內的值,將其傳遞給插入圖像的子例程,然后將其作為注釋應用於rCell
,並提取適當的圖像。 這應該不會失敗。 只要確保該單元格中的值是它們各自文件的正確路徑即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.