Слово для Mac Макро

У меня Word for Mac 2011 на MacBook с Yosemite 10.10.5. В Word я пытаюсь создать макрос, который будет вставлять файл с именем home.gif в документы Word. home.gif находится в каталоге "List", который является подкаталогом "Kindle" на моем рабочем столе (Desktop\Kindle\List).

Записанные шаги: Вставить >> Фото >> Картинка из файла... >> Рабочий стол >> Kindle>> Список >>home.gif>> Вставить

Вот результат:

Selection.InlineShapes.AddPicture filename:= _
     “/Users/macbookpro/Desktop/Kindle/List/home.gif”, LinkToFile=False._
     SaveWithDocument=True
Selection.InlineShapes.AddPicture filename:=”, LinkToFile:=False, _
     SaveWithDocument:=True   

На другом форуме я читал, что дефисы должны быть двоеточиями, поэтому я изменил это на следующее:

Selection.InlineShapes.AddPicture filename:= _
     “Users.macbookpro.Desktop.Kindle.List.home.gif”, LinkToFile=False._
     SaveWithDocument=True
Selection.InlineShapes.AddPicture filename:=”, LinkToFile:=False, _
     saveWithDocument:=True   

Это подняло: "Не могу выполнить код в режиме прерывания".

1 ответ

Что вам нужно, это что-то вроде

Selection.InlineShapes.AddPicture filename:= _
  "Macintosh HD:Users:macbookpro:Desktop:Kindle:List:home.gif", _
  LinkToFile:=False, _
  SaveWithDocument:=True

"Macintosh HD" - это имя тома (диска), на котором находится файл. Ваш диск может называться как-то иначе. Если это так, вам нужно изменить "Macintosh HD" на это имя. Вы можете увидеть полное имя пути, щелкнув правой кнопкой мыши на файле home.gif в Finder и выбрав опцию Get Info. Посмотрите на "Где", и вы увидите путь к папке, но со стрелками вместо двоеточий (:)

В наши дни Mac OS X обычно предпочитает анемы в стиле Unix с косой чертой. (По историческим причинам они называются именами файлов "POSIX" в Applescript). Но Microsoft Office для Mac 2011 содержит довольно старый код, и не все распознают имена файлов POSIX. В этом случае макрос записи Word делает две вещи неправильно:

  • он записывает путь POSIX + имя файла. Этот путь POSIX + имя файла будет правильным именем для вашего файла, но AddPicture фактически не может использовать имена POSIX. Использование другого стиля имени файла ("HFS") с двоеточиями работает, но вам нужен полный путь, как я уже сказал
  • по какой-то причине он записывает второй оператор AddPicture с пустым именем пути (""). Это не будет работать, и вы должны удалить его.

Обратите внимание, что за именованными параметрами, такими как имя файла, LinkToFile и SaveWithDocument, должны следовать ":=", а не просто "=". Так вам нужно

SaveWithDocument:=True

не

SaveWithDocument=True

Причина, по которой вы получаете сообщение "Не удается выполнить код в режиме прерывания", обычно заключается в том, что вы перевели VBA в режим отладки, а не останавливали выполнение. Когда вы делаете это, это действительно ждет продолжения. Однако, если вы попытаетесь запустить другой макрос, вы получите это сообщение.

Другие вопросы по тегам