1

Я абсолютно новичок в VBA. Я пытаюсь создать презентацию так, чтобы содержимое каждой ячейки (подряд) создавало новый слайд в презентации.

Я искал код, но я мог найти его только для Windows. Когда я пытаюсь использовать код в Mac OS X 10.7.4 (Excel 2011), я получаю сообщение об ошибке.

Нужна помощь :)!

Код и ошибка следующие:

Код:

код преобразуется в текст:

Sub OneSlideForEachRowCell()
'Open the Excel workbook. Change the filename here.
Dim OWB As New Excel.Workbook
Set OWB = Excel.Application.Workbooks.Open{":Users:vikshek:Desktop:list.xlsx")
'Grab the first Worksheet in the Workbook
Dim WS As Excel.Worksheet
Set WS = OWB.Worksheets(1)
'Loop through each used row in Column A
For i = 1 To WS.Range("A65536").End(xlUp).Row
  'Copy the first slide and paste at the end of the presentation
  ActivePresentation.Slides(1).Copy
  ActivePresentation.Slides.Paste(ActivePresentation.Slides.Count + 1)

  'Change the text of the first text box on the slide.
  ActivePresentation.Slides(ActivePresentation.Slides.Count).Shapes(1).TextFrame.TextRange.Text = WS.Cells(i, 1).Value
Next
End Sub

Ошибка:

Run-time error '429': ActiveX component can't create object

При отладке выделяется текст

Set OWB = Excel.Application.Workbooks.Open(Filename:=":Users:vikshek:Desktop:list.xlsx")

1 ответ1

1

Путь должен включать имя тома. Попробуйте ввести полное имя файла, например:

Set OWB = Excel.Application.Workbooks.Open(Filename:="Macintosh HD:Users:vikshek:Desktop:list.xlsx")`

Попробуйте указать путь к файлу POSIX, для которого не нужно имя тома, хотя эта форма может не работать до Excel 2013.

/Users/vikshek/Desktop/list.xlsx

Ссылка

См. Выполнение операций с файлами и папками программно в Excel 2011 для Mac, где приведены примеры использования Applescript (с функцией MacScript) и VBA.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .