PublishObjects.Add不适用于Excel for MAC

时间:2016-12-01 15:27:46

标签: excel macos excel-vba vba

我有一个代码在excel for windows下工作正常但在Excel for Mac(2011)下无效:

rng_str = "$A$1:$C$20" & (scrsheet_row_indx + 8) & """"
rng_str = Left(rng_str, Len(rng_str) - 1)
strFile = ThisWorkbook.Path & "\" & "Scorecard.htm"
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
    strFile, "scorecards", rng_str, _
    xlHtmlStatic, "PublishToHtml", "")
    .Publish (True)
End With

如果有人可以帮助我,请告诉我 - 如果您需要完整的代码,请告诉我。

提前致谢!

1 个答案:

答案 0 :(得分:0)

在Mac OS上运行宏时,在引用文件路径时需要小心,因为不同的分隔符用于不同的操作系统。

在您的代码中,您在\ThisWorkbook.Path的串联中使用了"Scorecard.htm",但只有Windows使用\作为其分隔符。

不同的分隔符如下:

Windows:C:\myfolder\mydocument.txt

Unix:/usr/myuser/mydocument.txt

Classic Mac OS:Hard Drive:My Folder:My Document

这样做的方法是在您的连接中使用Application.PathSeparator代替\

strFile = ThisWorkbook.Path & Application.PathSeparator & "Scorecard.htm"