【问题标题】:Control resolution of exported chart控制导出图表的分辨率
【发布时间】:2015-10-17 08:05:11
【问题描述】:

我有一个 excel 用户表单,它允许您将某个工作表中的 excel 图表保存为 .jpg 图像,同时在用户表单中显示图表。但是我发现很难控制所述图像的分辨率。分辨率似乎取决于工作表上的缩放量。当我放大时,我得到了一个高质量的图像,当我缩小时,分辨率变得很差。有没有办法使用 vba 代码来控制这个?

我用于导出的代码如下:

Private Sub CmdBrowse_Click()
Dim Directory1 As String

With Application.FileDialog(msoFileDialogFolderPicker)
  .AllowMultiSelect = False
  .Show
  On Error Resume Next
  Directory1 = .SelectedItems(1)
  Err.Clear
  On Error GoTo 0
End With

ChartDest.Value = Directory1
End Sub

Private Sub CmdLoad_Click()
Dim FilePath As String
Dim Imagename As String
Dim ChartNumber As Integer

If ChartDest = "Select chart destination folder" Then
    MsgBox "Select chart destination"
    Exit Sub
End If

ChartNumber = ChartList.ListIndex + 1

'saving chart to image
Imagename = ChartList.Value
FilePath = ChartDest & Imagename & ".jpeg"
ThisWorkbook.Worksheets("Blad3").ChartObjects(ChartNumber).Chart.Export FilePath, "jpg"
'loading image
UserForm4.ChartImage.Picture = LoadPicture(FilePath)
End Sub

ChartDest 是一个带有目标路径的文本框。 Chartlist 是一个包含可用图表列表的列表框

【问题讨论】:

    标签: image excel export resolution vba


    【解决方案1】:

    在你的 CmdLoad 中试试这个

    Private Sub CmdLoad_Click()
        Dim fPath As String, imgName As String, chartID As Long
    
        If chartDest = "Select chart destination folder" Then
            MsgBox "Select chart destination"
            Exit Sub
        End If
        chartID = ChartList.ListIndex + 1
    
        'saving chart to image
        imgName = ChartList.Value
        fPath = chartDest & imgName & ".jpeg"
        With ThisWorkbook.Worksheets("Blad3").ChartObjects(chartID)
            ActiveWindow.Zoom = 175
            .Chart.Export fPath, "jpg"
            ActiveWindow.Zoom = 100
        End With
    
        'loading image
        UserForm4.ChartImage.Picture = LoadPicture(fPath)
    End Sub
    

    【讨论】:

    • 我选择使用activewindow.zoom 方法是因为scaleheightscalewidth 是适用于形状而不是图表或图表对象的方法。感谢您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 2023-01-31
    • 1970-01-01
    • 2016-05-08
    • 2013-08-05
    • 2013-02-06
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多