Привет всем и спасибо, что нашли время прочитать.
В отношении кода ниже (код, предоставленный M--) из этого поста VBA, чтобы выбрать каждый элемент слайсера и затем сохранить каждый выбранный элемент слайсера в формате pdf?
Вместо предопределенного местоположения сохранения / экспорта, я бы хотел, чтобы пользователь выбрал папку по своему выбору.
Мне сообщили вежливо стека чат @QHarr, что мне нужен объект filedialog, чтобы представить эту функцию. Будет ли это в начале модуля? В этом сценарии экспорт лучше, чем save.as? Повлияет ли последнее на способ передачи элементов слайсера?
С благодарностью и наилучшими пожеланиями
wA
Public Sub myMacro()
Dim sC As SlicerCache
Set sC = ActiveWorkbook.SlicerCaches("Slicer_Store_Number")
'This reminds the user to only select the first slicer item
If sC.VisibleSlicerItems.Count <> 1 Or sC.SlicerItems(1).Selected = False Then
MsgBox "Please Only Select Store-Number 1"
Exit Sub
End If
For i = 1 To sC.SlicerItems.Count
'Do not clear ilter as it causes to select all of the items (sC.ClearManualFilter)
sC.SlicerItems(i).Selected = True
If i <> 1 Then sC.SlicerItems(i - 1).Selected = False
'Debug.Print sI.Name
'add export to PDF code here
With Sheet18.PageSetup
.PrintArea = Sheet18.Range("A1:N34" & lastRow).Address
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Sheet18.Range("M1") = sC.SlicerItems(i).Name
'This prints to C directory, change the path as you wish
Sheet18.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\" & Range("M1").Text & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Next
End Sub