Слово для 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 в режим отладки, а не останавливали выполнение. Когда вы делаете это, это действительно ждет продолжения. Однако, если вы попытаетесь запустить другой макрос, вы получите это сообщение.