Excel VBA 无法打开网络驱动器上的 PPT 文件
Excel VBA won't open PPT files on network drive
我有一个非常旧的 VBA 文件,它是由其他人创建的,只有有限的评论来解释它。该文件是一个训练文件,它要求输入名称,然后提供您可以查看以进行训练的文件名。变量从 5 个不同的子例程传递过来。
RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & ProgFile, 1)
这是从 Excel 打开 PowerPoint 4.0 文件的行。 ProgFile
是传递的变量。
我的问题:如果我将文件放在 C:\
驱动器的目录中(比如说 C:\Training\Forklift.ppt
),文件可以正常打开并且程序会执行它应该执行的操作。
但是:将这些相同的 PPT 文件放在我的网络驱动器上 (S:\Training\Forklift.ppt
) 我收到三个错误消息,因为弹出窗口未编码到程序中(我怀疑是系统错误)。 (路径名称已更改为显示为 S:\
- PowerPoint 查看器找不到文件
RECORDS
- PowerPoint 查看器找不到文件
Safety
- PowerPoint 查看器找不到文件
Forklift.ppt
RECORDS
和 Safety
不是任何子例程正在使用的文件。是因为打开 PowerPoint 的 Shell
功能还是我忽略的其他神秘事物?
我正在尝试重写子例程,这是给我带来问题的未更改代码的一部分。
我的猜测是 RECORDS
和 Safety
都是在您的 Forklift.ppt
演示文稿中链接的某种外部文件。 PowerPoint 因在移动时破坏演示文稿而臭名昭著。如果 PPT 中有任何链接,它们将需要更新以指向您 S:
驱动器上的新位置。
您可以通过为它编写一些 VBA 代码来自动更改链接,但如果这是一次性的移动,它可能不值得 - 只需手动重做。
尝试用引号将您的参数括起来:
RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & Chr(34) & ProgFile & Chr(34), 1)
我有一个非常旧的 VBA 文件,它是由其他人创建的,只有有限的评论来解释它。该文件是一个训练文件,它要求输入名称,然后提供您可以查看以进行训练的文件名。变量从 5 个不同的子例程传递过来。
RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & ProgFile, 1)
这是从 Excel 打开 PowerPoint 4.0 文件的行。 ProgFile
是传递的变量。
我的问题:如果我将文件放在 C:\
驱动器的目录中(比如说 C:\Training\Forklift.ppt
),文件可以正常打开并且程序会执行它应该执行的操作。
但是:将这些相同的 PPT 文件放在我的网络驱动器上 (S:\Training\Forklift.ppt
) 我收到三个错误消息,因为弹出窗口未编码到程序中(我怀疑是系统错误)。 (路径名称已更改为显示为 S:\
- PowerPoint 查看器找不到文件
RECORDS
- PowerPoint 查看器找不到文件
Safety
- PowerPoint 查看器找不到文件
Forklift.ppt
RECORDS
和 Safety
不是任何子例程正在使用的文件。是因为打开 PowerPoint 的 Shell
功能还是我忽略的其他神秘事物?
我正在尝试重写子例程,这是给我带来问题的未更改代码的一部分。
我的猜测是 RECORDS
和 Safety
都是在您的 Forklift.ppt
演示文稿中链接的某种外部文件。 PowerPoint 因在移动时破坏演示文稿而臭名昭著。如果 PPT 中有任何链接,它们将需要更新以指向您 S:
驱动器上的新位置。
您可以通过为它编写一些 VBA 代码来自动更改链接,但如果这是一次性的移动,它可能不值得 - 只需手动重做。
尝试用引号将您的参数括起来:
RetVal = Shell("C:\Program Files\Microsoft Office\OFFICE11\PPTVIEW.EXE " & Chr(34) & ProgFile & Chr(34), 1)