当前代码:
Const cName = "ChartDummy"
Const rName = "Availability"
Const iconSource = "C:\user.name\defaulfolder\"
'/* Availability is a named Range for this example but can be any valid range */
'/* UF_EmoTrans is a Userform with and Image Control named I_Console */
Dim oCh As ChartObject, chImg As String
Dim Ch As Object
Application.DisplayAlerts = False
With Sheet2
'.Activate
chImg = iconSource & "availIcon.jpg"
Set oCh = .ChartObjects.Add(370, 14, 180, 277.2): oCh.Name = cName
.Range(rName).CopyPicture xlScreen, xlBitmap
'oCh.Activate
oCh.Chart.Paste
oCh.Chart.Export chImg, "JPG"
'/* I call this procedure at UserForm_Initialize */
UF_EMOTrans.I_Console.Picture = LoadPicture(chImg)
oCh.Delete
End With
它出口
范围
作为图像(通过chartobject),并将其加载到用户窗体。
现在,当我在执行模式下运行它(加载表单)时,它不会创建相同的结果。
看来
oCh.Chart.Paste
一旦导出,它将生成一幅背景为纯白色的图片。
所以我的问题是,为什么会这样?为什么它的行为会有所不同?
附笔。
如果在粘贴(注释行)之前激活了图表(但需要先激活工作表),则该功能将起作用。
但我只是想知道,这是否是我们不得不忍受的那些怪事之一。