Image 导出海图的控制分辨率

Image 导出海图的控制分辨率,image,excel,export,resolution,vba,Image,Excel,Export,Resolution,Vba,我有一个excel用户表单,它允许您将某个工作表中的excel图表保存到.jpg图像中,同时在用户表单中显示图表。然而,我发现很难控制所述图像的分辨率。分辨率似乎取决于工作表上的缩放量。当我放大时,我得到了高质量的图像,当我缩小时,分辨率变得非常差。有没有办法用vba代码来控制这一点 我用于导出的代码如下所示: Private Sub CmdBrowse_Click() Dim Directory1 As String With Application.FileDialog(msoFileDi

我有一个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是一个包含可用图表列表的列表框

请在您的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
方法,因为
scaleheight
scalewidth
方法适用于形状,而不适用于图表或图表对象。谢谢你的解决方案。