2016-03-24 3 views
0

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

Записанные шаги: Вставить >> Фото >> Фото из файла ... >> Desktop >> зажигать >> Список >> 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 

это воспитанные: «„не удается выполнить код в режиме прерывания“.

+0

':' <Это двоеточие. '.' <Период. Кроме того, вы можете просто использовать 'Application.PathSeparator' –

+1

... и это дефис>' -'. Путь к файлу в стиле Linux, который выдает макрозапись, должен работать нормально (хотя он чувствителен к регистру). Что же такое ваш вопрос? Вы получаете сообщение об ошибке? – Comintern

+1

В чем проблема с записью? На какой строке это дает ошибку? – Rahul

ответ

1

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

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

«Macintosh HD» это имя тома (Drive), что файл включен. Ваш диск можно назвать чем-то другим. Если это так, вам нужно будет изменить «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 в режиме отладки, а не остановить выполнение. Когда вы это сделаете, он действительно ждет продолжения. Однако, если вы попытаетесь запустить другой макрос, вы получите это сообщение.