【问题标题】:Insert and resize a picture in a report在报表中插入图片并调整其大小
【发布时间】:2018-06-04 20:39:10
【问题描述】:
我正在启动一个包含考试问题的 Access 数据库。几乎每个问题都会有一张图片。我不想把图片保存在数据库中以保持它的小。
我想在报告中插入这些图片。图片必须具有相同的宽度(报表的宽度),但高度必须根据原始纵横比调整大小。有些图片是横向的,有些是纵向的。
我正在使用 Office 365、VBA 7.1 和 Windows 10。
【问题讨论】:
-
你可以学习一个demo here。虽然也用于下载图片,但它显示了如何从表单和报表的路径中检索图片。
-
标签:
vba
image
ms-access
image-scaling
【解决方案1】:
最后很简单。我正在发布解决方案,也许它会为其他人节省三天时间。
只是为了解释名称。
ImageSource 是一个包含文件路径的文本框。
ImageFrame 是我放置在报表上的空图像。
代码放置在我的报告中 GroupHeader 的 OnFormat 部分中。
9996 比我报告的宽度略小,单位为缇。
这是代码:
Private Sub GroupHeader3_Format(Cancel As Integer, FormatCount As Integer)
Me![ImageFrame].Picture = Me![ImageSource]
Me![ImageFrame].Width = 9996
Me![ImageFrame].Height = 9996 * Me![ImageFrame].ImageHeight / Me![ImageFrame].ImageWidth
End Sub