excel - 如何阻止我下载的图像从我的桌子上掉下来?
问题描述
我使用 VBA 创建了一个工具,该工具接受电子表格输入并生成 PDF 报告输出。该报告的一部分包括在线托管的图片,这些图片的链接存储在单元格中。
此工具的部分代码下载这些图像并将它们放置在保存链接的单元格上,将它们格式化为单元格的预设尺寸(100 x 100px)
当图像列中的每个单元格都有图片链接时,代码可以正常工作。但是,并非报表中的所有订单项都附有图片。
发生这种情况时,空白单元格之前的最后一个图像将被放置在下一个图像链接之前的最后一个空白单元格中,本质上是“下拉”到报告中的错误位置。
我试过修改代码,但无济于事。我想出了一个临时解决方法,用 IFBLANK(链接到白色方块的图像)格式化单元格,以便插入这个白色方块以呈现空白单元格的外观,但这需要用户保留白色图像正方形并直接在代码中引用它,或者将白色正方形托管在永久活跃的站点上,我对此感到不舒服。我希望这个工具尽可能面向未来,以便其他人可以继续使用它。
'Download Images
Dim Pshp As Shape
Dim xRg As Range
Dim xCol As Long
On Error Resume Next
Set Rng = Sheets("POMEC Report").Range(Sheets("POMEC DATA").Range("R6"))
For Each Cell In Rng
filenam = Cell
ActiveSheet.Pictures.Insert(filenam).Select
Set Pshp = Selection.ShapeRange.Item(1)
If Pshp Is Nothing Then GoTo lab
xCol = Cell.Column
Set xRg = Cells(Cell.Row, xCol)
With Pshp
.LockAspectRatio = msoFalse
.Width = 100
.Height = 100
.Top = xRg.Top + (xRg.Height - .Height) / 2
.Left = xRg.Left + (xRg.Width - .Width) / 2
End With
lab:
Set Pshp = Nothing
Next
我在另一个选项卡中有一个帮助单元格,用于计算报告中的最后一行数据,因此我可以使范围动态(POMEC 报告 R6),但即使此范围是硬编码的,也会发生此错误。
我做错了什么导致这个?任何帮助是极大的赞赏!
解决方案
推荐阅读
- postgresql - Postgres 触发器副作用与行级安全选择策略无序发生
- swift - textViewDidBeginEditing 快速在 2 个单独的 textViews 上
- macos - 为什么“nasm:错误:无法找到实用程序“nasm”,而不是开发人员工具或在 PATH 中显示?
- ruby - 红宝石#match?错过尾随空格
- spyder - 如何解决 64 位 anaconda 中的 Import gdal 错误?
- mysql - 基于特定列排序后如何获取除前5条记录外的所有记录
- powershell - 错误“无法创建 SSL/TLS 安全通道。” 在 powershell 中使用 Net.WebClient 通过 HTTPS 下载文件
- r - 使用 purrr 函数进行全局赋值
- type-inference - 编译器如何知道返回正确的类型?
- haskell - 如何为文档测试提供标准输入?