从userfom导出图像

时间:2018-09-26 14:55:01

标签: excel vba

我有一个面板控件,该控件以用户表形式显示从表格“图表”中的图表生成的图像。它们依赖于具有“预览”按钮的combobox2,该按钮在辅助用户窗体中以完整质量显示图表的图像。

我一直试图做的事情是为用户提供一个导出按钮,以便能够通过选择路径将图像下载到他们的PC(因为工作簿位于共享文件夹中)。    但是问题出在我要导出的图像中。我需要一种方法来获取image2(即第二个用户窗体)中的活动图片,以便用户可以下载它。

这是我目前所拥有的,但是我从Set oChart得不到任何帮助,只是用所选的图像以某种方式填充了它

Function GetFolder1() As String

    Dim fldr As FileDialog
    Dim oChart As Chart
    Dim sitem As String

    Set oChart = Image2.Picture        

    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)

    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = Application.DefaultFilePath
        If .Show <> -1 Then GoTo NextCode

        GetFolder1 = .SelectedItems(1)

     oChart.Export Filename:=GetFolder1 & ("\") & ComboBox2.Text & (".bmp")
    End With

NextCode:

    Set fldr = Nothing       
End Function

(从此网页获取此代码) 谢谢!

1 个答案:

答案 0 :(得分:2)

使用SavePicture方法。在图片控件中加载图片后,无需使用Chart。


Public Sub SavePictureToDisk()

    Dim fldr As FileDialog

    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)

    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = Application.DefaultFilePath
        If .Show <> -1 Then GoTo NextCode

        GetFolder1 = .SelectedItems(1)

      '/ Here save the ImageControl's picture to disk.
      SavePicture UserForm2.Image2.Picture, GetFolder1 & ("\") & comboBox2.Text & ".bmp"
    End With

NextCode:

    Set fldr = Nothing

End Sub