0

下面的代码在 Windows 7 中运行良好。我在 Windows XP 中收到错误“ ActiveX 组件无法创建对象:'Word.Application' ”。XP中没有安装Microsoft Word,这是错误的原因吗?我是 vbscript 的新手。解决方案是什么?

Const msoFileDialogOpen = 1

Set fso = CreateObject("Scripting.FileSystemObject")
Set objWord = CreateObject("Word.Application")
Set WshShell = CreateObject("WScript.Shell")

strInitialPath = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Desktop\"

objWord.ChangeFileOpenDirectory(strInitialPath)

With objWord.FileDialog(msoFileDialogOpen)

   .Title = "Select the file to process"
   .AllowMultiSelect = False

   .Filters.Clear

   .Filters.Add "All Files", "*.*"
   .Filters.Add "Excel Files", "*.xls;*.xlsx"
   .Filters.Add "Text Files", "*.txt"
   .Filters.Add "Various Files", "*.xls;*.doc;*.vbs"
   If .Show = -1 Then  'short form

      For Each File in .SelectedItems  'short form
         Set objFile = fso.GetFile(File)
         WScript.Echo objFile.Path
      Next    
   Else 
   End If
End With

'Close Word
objWord.Quit
4

1 回答 1

2

是的,如果计算机中没有安装 MS Word,则无法创建“Word.Application”,因为它甚至不存在于您的系统中。

解决此问题的最简单方法是在计算机中安装 MSWord。困难的方法是找到 activeX 程序集及其依赖项,并手动将其注册到计算机中。

您可以使用http://www.nirsoft.net/utils/axhelper.html查看计算机中安装的 ActiveX 组件列表。

-- Openoffice 可以代替 MS Word 解决这个问题吗?

当然,请查看此链接

于 2012-11-20T07:48:08.933 回答