Excel VBA不会打开networking驱动器上的PPT文件

我有一个非常旧的VBA文件,是由其他人有限的意见来解释它创build的。 该文件是一个培训文件,要求提供名称,然后提供您可以查看的文件名以进行培训。variables从5个不同的子例程中传递。

RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & ProgFile, 1) 

这是从Excel中打开PowerPoint 4.0文件的行。 ProgFile是一个传入的variables。

我的问题:如果我把文件放在C:\盘的目录下(说C:\Training\Forklift.ppt )文件打开罚款和程序做它应该做的。

但是:将这些相同的PPT文件放在我的networking驱动器( S:\Training\Forklift.ppt )我得到三个错误信息作为popup窗口没有编入程序(我怀疑系统错误)。 (path名称被改为显示为S:\

  1. PowerPoint Viewer无法find文件RECORDS
  2. PowerPoint查看器找不到文件Safety
  3. PowerPoint Viewer找不到文件Forklift.ppt

RECORDSSafety不是被任何子程序使用的文件。 是因为Shellfunction打开PowerPoint或其他神秘的东西,我俯瞰?

我正在尝试重写Subroutines,这是给我的问题不变的代码的一部分。

尝试围绕你的参考引号:

 RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & Chr(34) & ProgFile & Chr(34), 1) 

我的猜测是, RECORDSSafety都是某种外部文件,在您的Forklift.ppt演示文稿中链接。 当事情被移动时,PowerPoint是以破坏演讲而闻名的。 如果PPT中有任何链接,则需要更新它们以指向S:驱动器上的新位置。

您可以通过编写一些VBA代码来自动更改链接,但如果这是一次性移动,则可能不值得 – 只需手工重做即可。