关于生成Excel图片对象,VBA与VB的编写不同

本文探讨了将日本人编写的VBA二维码生成工具移植到VB6.0的过程中,如何在VB6中创建COM组件,并展示了VBA原始代码与VB6正常调用的代码示例,强调了在VB6中需在模块申明公共变量Public excelapp As Excel.Application。

日本人VBA写的二维码生成工具,想移植到vb6.0,写com组件,不废话,直接上代码

vba原代码

Private m_fs As Object

Public Function QR(ByVal s As String, _
                   Optional ByVal charsetName As String = "Shift_JIS") As Variant
    If m_fs Is Nothing Then
        Set m_fs = CreateObject("Scripting.FileSystemObject")
    End If

On Error GoTo Catch
    If Not (TypeOf Application.Caller Is Range) Then Exit Function

    Dim rng As Range
    Set rng = Application.Caller.MergeArea
    Call DeleteShape(rng)

    If Len(s) = 0 Then Exit Function

    Dim sbls As Symbols
    Set sbls = CreateSymbols(charsetName:=charsetName)
    Call sbls.AppendText(s)

    Dim filePath As String
    filePath =  "D:\test.jpg" 
  
    Dim shp As Shape
    Set shp = AddPicture(filePath, rng)
    Call FillShape(shp, vbWhite)

    QR = ""

Finally:
On Error GoTo 0
    Exit Function
Catch:
    QR = CVErr(xlErrValue)
    Resume Finally
End Function

Private Function DeleteShape(ByVal Target As 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值