参考

参考

我对 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

路径名必须包含卷名。请尝试使用文件的完整路径名,例如:

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

尝试POSIX不需要卷名的文件路径名,尽管这种形式在 Excel 2013 之前可能不起作用。

/Users/vikshek/Desktop/list.xlsx

参考

在 Mac 版 Excel 2011 中以编程方式执行文件和文件夹操作例如使用 Applescript(带有 MacScript 函数)和 VBA。

相关内容