excel VB 将文档中的图片超链接转化为图片

Sub 转换图片()


On Error Resume Next


Dim HLK As Hyperlink, Rng As Range
For Each HLK In ActiveSheet.Hyperlinks '循环活动工作表中的各个超链接
If UCase(HLK.Address) Like "*.JPG" Or UCase(HLK.Address) Like "*.JPEG" Or UCase(HLK.Address) Like "*.PNG" Or UCase(HLK.Address) Like "*.GIF" Then '如果链接的位置是jpg或gif图片(此处仅针对此两种图片类型,更多类型可以通过建立数组或字典或正则来判断)
Set Rng = HLK.Parent.Offset(, 0) '设定插入目标图片的位置
With ActiveSheet.Pictures.Insert(HLK.Address) '插入链接地址中的图片

If .Height / .Width > Rng.Height / Rng.Width Then '判断图片纵横比与单元格纵横比的比值以确定针对单元格缩放的比例
.Top = Rng.Top
.Left = Rng.Left + (Rng.Width - .Width * Rng.Height / .Height) / 2
.Width = .Width * Rng.Height / .Height
.Height = Rng.Height
Else
.Left = Rng.Left
.Top = Rng.Top + (Rng.Height - .Height * Rng.Width / .Width) / 2
.Height = Rng.Height
.Width = Rng.Width
End If
End With
HLK.Parent.Value = "" '删除单元格的图片链接
End If
Next

End Sub



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB6将二进制图片文件转换为Base64字符串可以通过以下步骤实现: 1. 首先,你需要读取二进制图片文件的内容。你可以使用VB6提供的Open语句打开二进制图片文件,并使用Binary读取模式来读取文件的内容。例如: ```vb Dim fileNumber As Integer fileNumber = FreeFile Open "C:\path\to\image.jpg" For Binary As #fileNumber Dim fileContent As String fileContent = Input$(LOF(fileNumber), fileNumber) Close #fileNumber ``` 此代码片段打开并读取了位于指定文件路径下的图像文件,并将其内容存储在fileContent变量。 2. 下来,你可以使用VB6的MSXML库的DOMDocument对象来进行Base64编码。首先,你需要将二进制图片内容加载到DOMDocument对象,并使用其base64Encoded属性进行编码。例如: ```vb Dim xmlDoc As Object Set xmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.LoadXML "<root></root>" xmlDoc.documentElement.dataType = "bin.base64" xmlDoc.documentElement.nodeTypedValue = fileContent Dim base64String As String base64String = xmlDoc.documentElement.base64Encoded ``` 这段代码创建了一个DOMDocument对象,将二进制图片内容加载到根节点下,并设置了节点的dataType为"bin.base64",这样DOMDocument对象就会自动将内容以Base64格式编码。然后,你可以通过读取节点的base64Encoded属性来获取Base64字符串。 最后,你可以使用base64String变量来访问生成的Base64字符串,进行后续的处理或保存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值