Команда имеет один файл xlsm с графиками и кнопкой Обновить внутри. Как только член команды нажимает кнопку обновления, открывается ppt со встроенной таблицей и графиком.
Есть две проблемы: (1) файлы должны находиться на Google Диске - путь к папке Google Drive на рабочем столе отличается от пользователя к пользователю; (2) разные пользователи будут использовать разные машины - Windows или Mac, поэтому обратная косая черта изменится.
Когда я понял, что люди не будут переходить к макросу, чтобы изменить путь, я добавил в xls одну строку - «Вставить путь к ppt», и член команды, по идее, должен просто вставить путь к своему Google Диску, запустить макрос, сохраните ppt, и он будет автоматически сохранен в облаке - смотрите строку MyPath. Милая? Но я получил ответ, что это слишком сложно. Можете ли вы придумать какой-либо способ, который позволяет XLSM для запуска PPT. загружены на Google Drive?
Я пробовал с путем в самом макросе; затем определение var в самом xls.
'The script copy/pastes the table from the pg_3 sheet to ppt
Dim PPApp As PowerPoint.Application, PPPres As PowerPoint.Presentation, PPSlide As PowerPoint.Slide
Sheets("pg_3").Activate
MyPath = Range("G1")
Set PPApp = New PowerPoint.Application
Set PPPres = PPApp.Presentations.Open(MyPath)
PPApp.Visible = True
Set PPSlide = PPPres.Slides(5)
'Copying/Pasting the group of a chart & text
Set CostDetails = ActiveSheet.Range("B13:C25")
CostDetails.Copy
PPSlide.Select
Set PPTable = PPSlide.Shapes.Paste
With PPTable
.Left = 250
.Top = 5
'.Width = 471.2827
.Height = 10
End With
'Copying/Pasting the group of a chart & text
ActiveSheet.Shapes.Range(Array("Group 1")).Select
Selection.Copy
Set PPShape = PPPres.Slides(5).Shapes.Paste
With PPShape
.Top = 300
.Height = 200
.Left = 600
.Width = 350
End With
End Sub```