Как мы можем открыть файл Word, используя скрипт VB - PullRequest
3 голосов
/ 05 октября 2010

Может кто-нибудь, пожалуйста, скажите мне, как открыть файлы Word, используя сценарии VBS Windows.

Я опробовал эти два набора VBS, но ошибка хоста скрипта Windows ("The system cannot find the file specified", errorcode: 80070002) отображается, даже если файл существует в указанном месте.

первые VBS, которые я опробовал:

Dim sAppPath
Dim sPrgFolder
sPrgFolder=CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%") 
sAppPath =sPrgFolder + "c:\UserGuide.doc"
WScript.CreateObject("WScript.Shell").Run sAppPath)

второй VBS я попробовал:

OPTION EXPLICIT
dim fso, ws, file_to_open, OFFICE_PATH
Set ws = WScript.CreateObject("WScript.Shell")
OFFICE_PATH = "C:\Program Files\Microsoft Office\Office"
file_to_open = CHR(34) & "C:\UserGuide.doc" & CHR(34)
ws.Run CHR(34)& OFFICE_PATH & "\winword.exe" & CHR(34) & file_to_open, 0, "FALSE"

Ответы [ 3 ]

7 голосов
/ 05 октября 2010

LittleBobbyTables объяснил в своем комментарии, почему ваш первый пример не работает.

Что касается вашего второго примера, он не работает, потому что вы не вставляете пробелы между путем winword.exe ипуть к файлу, поэтому ваша командная строка выглядит следующим образом:

"C:\Program Files\Microsoft Office\Office\winword.exe""C:\UserGuide.doc"

В любом случае, жесткое кодирование пути winword.exe, подобного этому, ненадежно, так как этот путь отличается в 64-разрядных и некоторых локализованных версиях Windows, а также для некоторых версий MS Office.Я предлагаю вместо этого использовать объекты автоматизации Word:

Set oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.Open "C:\UserGuide.doc"
1 голос
/ 05 октября 2010
OPTION EXPLICIT
dim fso, ws, file_to_open, OFFICE_PATH
Set ws = WScript.CreateObject("WScript.Shell")
OFFICE_PATH = "C:\Program Files\Microsoft Office\Office"
file_to_open = CHR(34) & "C:\UserGuide.doc" & CHR(34)
ws.Run CHR(34) & OFFICE_PATH & "\winword.exe " & CHR(34) & file_to_open, 0, "FALSE"

попробуйте этот исправленный код, проверьте изменения в последней строке:)

0 голосов
/ 05 октября 2010

Спасибо, приятели ..... у меня все получилось с этими VBS.

Dim shell, quote, pgm, fname

set shell = WScript.CreateObject("WScript.Shell")
quote = Chr(34)
pgm = "WINWORD"
fname = "C:\UserGuide.doc"
shell.Run quote & pgm & quote & " " &fname
...