将用户窗体中的图片插入到 xlApp 实例失败

Inserting picture from userform to xlApp instance fails

我正在 MS Project 中编写代码并为 Excel 构建报告。

目标: 将位于 MS Project 中的用户窗体中的图片插入到我的 Sub

创建的 Excel 的 xlApp 实例中

问题:设置用户窗体图像失败,我认为这是因为使用“2个环境”

我在 MS Project 中将此子放置在用户窗体中:

Sub printToExcel()
Dim xlApp, xlBook, xlSheet  As Object
Dim img As Object

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

With xlSheet
    Set img = .OLEObjects.Add(ClassType:="Forms.image.1", _
        Link:=False, _
        DisplayAsIcon:=False, _
        Left:=.Range("D1").Left, _
        Top:=.Range("D1").Top, _
        Width:=Me.Image1.Width, _
        Height:=Me.Image1.Height)
End With

With img
      .Object.PictureSizeMode = 0
      .Object.Picture = Me.Image1.Picture
End With
End Sub

代码在尝试设置图片的行失败:.Object.Picture = Me.Image1.Picture

如果我在 Excel 中创建一个带有图像的用户窗体,然后尝试创建一个新的 Excel 实例并将其插入到那里,则完全相同的代码在 Excel 中失败。但是,如果我省略新的 Excel 实例并将其插入同一文档中,则可以使用。所以我想我必须更具体地说明哪个用户表单持有原始图片?我是否必须以某种方式指定保存图片的 VBCompontent?有什么想法吗?

我希望在插入之前不必将文件临时保存在磁盘上,但我知道这是一种解决方法。

我放弃了。使用 Excel 实例而不是在实际 Excel 工作簿中对其进行编码似乎是一项不同的任务。我最终保存到磁盘...