2016-12-01 4 views
1

У меня есть код, который отлично работает под первенствует для окон, но не работает в Excel для Mac (2011):PublishObjects.Add не работает на Excel для MAC

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 

Пожалуйста, дайте мне знать, если кто-то может помогите мне с этим - если вам нужен полный код, пожалуйста, дайте мне знать.

Заранее благодарен!

ответ

0

При запуске макросов на Mac OS необходимо соблюдать осторожность при обращении к пути к файлам, поскольку разные разделители используются для разных операционных систем.

В своем коде вы использовали \ в вашей конкатенации с ThisWorkbook.Path и "Scorecard.htm", однако, только для Windows использует \ в качестве разделителя.

различных сепараторов являются:

Окна: C:\myfolder\mydocument.txt

Unix: /usr/myuser/mydocument.txt

Классический Mac OS: Hard Drive:My Folder:My Document

Путь вокруг этого было бы использовать Application.PathSeparator в замене \ в Вашем соединении:

strFile = ThisWorkbook.Path & Application.PathSeparator & "Scorecard.htm" 
Смежные вопросы