2016-03-24 53 views
0

我在MacBook上使用优胜美地10.10.5版的Word for Mac 2011。在Word中,我试图创建一个宏,它将在Word文档中插入名为home.gif的文件。 home.gif位于名为“List”的目录中,该目录是我的桌面(Desktop \ Kindle \ List)上的“Kindle”的子目录。Word for Mac Macro

记录的步骤是:插入>>图片>>从文件图片... >>桌面>>点燃>>列表>> 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”是卷(驱动器),该文件是对的名称。你的驱动器可能被称为别的东西。如果是这样,您需要将“Macintosh HD”更改为该名称。您可以通过右键单击Finder中的home.gif文件并单击Get Info选项来查看完整路径名称。看看“哪里”,你会看到文件夹的路径,但用箭头代替冒号(:)

现在Mac OS X通常更倾向于使用正斜线的Unix风格路径风险。 (由于历史原因,它们在Applescript中被称为“POSIX”文件名)。但是,Microsoft Office for Mac 2011中有一些相当老的代码,并不是所有的东西都可以识别POSIX文件名。在这种情况下,Word的宏记录器有两个错误:

  • 它记录一个POSIX路径+文件名。该POSIX路径+文件名将是您文件的正确名称,但AddPicture实际上不能使用POSIX名称。使用其他格式的文件名(“HFS”)和冒号有效,但您需要完整的路径名称,因为我曾经说过
  • 出于某种原因,它会记录第二个AddPicture语句,其中包含一个 空路径名(“”) 。这不起作用,你应该删除它。

请注意,命名参数如filename,LinkToFile和SaveWithDocument必须后跟“:=”,而不是“=”。因此,你需要

SaveWithDocument:=True 

SaveWithDocument=True 

你得到的消息“无法在中断模式下执行代码”的原因,通常是因为你已经把VBA在调试模式,而不是停止执行。当你这样做时,它确实在等待继续。但是,如果您尝试启动另一个宏,则会收到该消息。