Я пытаюсь экспортировать диапазон ячеек в виде изображения из Excel 2016 (16.13) на Mac (High Sierra).
Пока это то, что мне удалось собрать ...
Sub Export()
Dim oWs As Worksheet
Dim oRng As Range
Dim oChrtO As ChartObject
Dim lWidth As Long, lHeight As Long
'
Set oWs = ActiveSheet
Set oRng = oWs.Range("C8:I20")
'
oRng.CopyPicture xlScreen, xlPicture
lWidth = oRng.Width
lHeight = oRng.Height
'
Set oChrtO = oWs.ChartObjects.Add(Left:=0, Top:=0, Width:=lWidth, Height:=lHeight)
'
oChrtO.Activate
With oChrtO
.ShapeRange.Line.Visible = msoFalse
.Height = oRng.Height
.Width = oRng.Width
.Chart.Paste
.Chart.Export FileName:="Report.png", Filtername:="JPG"
End With
'
oChrtO.Delete
'
End Sub
У меня все еще есть следующие проблемы:
1 - файл автоматически сохраняется в /Users/MyAccount/Library/Containers/com.microsoft.Excel/Data/, и мне нужно его сохранитьв определенную папку на рабочем столе
2- «Небольшая косметическая проблема», левый и верхний край серого цвета (file.png) - введите описание изображения здесь
ЛюбойПредложение?
РЕДАКТИРОВАТЬ: Я также пытался добавить:
Dim fileAccessGranted As Boolean
Dim filePermissionCandidates
'Create an array with file paths for which permissions are needed
filePermissionCandidates = Array("/Users/<MyAccount>/Desktop/")
'Request Access from User
fileAccessGranted = GrantAccessToMultipleFiles(filePermissionCandidates)
и
.Chart.Export FileName:="/Users/<MyAccount>/Desktop/Case.jpg", Filtername:="JPG"
, что приводит к ошибке «Ошибка во время выполнения» 70 «Отказано в доступе».