【发布时间】:2011-09-12 20:27:09
【问题描述】:
我正在创建一个 csv 文件,其中一列包含图像的 URL(例如,www.myDomain.com/myImage.jpg)。
如何让 Excel 呈现此图像?
【问题讨论】:
我正在创建一个 csv 文件,其中一列包含图像的 URL(例如,www.myDomain.com/myImage.jpg)。
如何让 Excel 呈现此图像?
【问题讨论】:
Dim url_column As Range
Dim image_column As Range
Set url_column = Worksheets(1).UsedRange.Columns("A")
Set image_column = Worksheets(1).UsedRange.Columns("B")
Dim i As Long
For i = 1 To url_column.Cells.Count
With image_column.Worksheet.Pictures.Insert(url_column.Cells(i).Value)
.Left = image_column.Cells(i).Left
.Top = image_column.Cells(i).Top
image_column.Cells(i).EntireRow.RowHeight = .Height
End With
Next
由于多年来has apparently changed 的 Excel 行为,您可能希望为 Insert 调用明确指定更多参数:
对于登陆这里的人。不同版本的 Excel 处理这个请求的方式不同,Excel 2007 会将图片作为对象插入,即嵌入到工作簿中。 Excel 2010 会将其作为链接插入,如果您打算将其发送给任何人,这将是一个糟糕的时期。您需要更改插入以指定它是嵌入的:
Insert(Filename:= <path>, LinkToFile:= False, SaveWithDocument:= True)
【讨论】:
Workbook_BeforeSave 不过。
在 Google 表格上,您可以将 IMAGE(url) 方法添加到您的 CSV 文件中,它将被呈现(在 Google 表格上测试)。
这是一个例子:
=IMAGE("http://efdreams.com/data_images/dreams/lion/lion-03.jpg")
【讨论】:
我有同样的问题。我的解决方案是:
在 excel 中,图像将保持原始大小,但始终从适当的行开始,因此只需选择全部并更改所有图像的宽度或高度。如果仅按行的高度更改高度,则所有内容都会正确排列和定位。
【讨论】: