VB SCRIPT Системе не удается найти файл, указанный НА НЕКОТОРЫХ КОМПЬЮТЕРАХ / ПОЛЬЗОВАТЕЛЯХ - PullRequest
1 голос
/ 14 января 2020

Добрый день! У меня есть этот скрипт, который открывает приложение доступа.

Этот скрипт работает на нескольких пользователей, но один. Этот пользователь получает эту ошибку

"Ошибка 80070002: система не может найти указанный файл".

Я совершенно уверен, что с моим скриптом все в порядке поскольку только один человек сталкивается с этой проблемой.

Может ли быть параметр компьютера или обновление, которое вызывает эту проблему? Все работает, кроме части Open File.

И это только для некоторых компьютеров / пользователей. Большинство Компьютеров / пользователей могут выполнить это без каких-либо проблем.

Заранее спасибо!

Вот сценарий

'*******************************************************************************
'Find user name
'*******************************************************************************    
Set WshNetwork = CreateObject("WScript.Network")
userName = WshNetwork.UserName
Set WshNetwork = Nothing

'******************************************************************************* 
'Find version of master file
'******************************************************************************* 
Set folder = objfso.GetFolder(folderPath)  
For Each file In folder.Files
    If InStr(file.Name, "AMSDshbd_M") = 1 Then
        masterVersion = Mid(file.Name, 11, (InStrRev(file.Name, ".") - 11))
        Exit For
    End If
Next

'*******************************************************************************
'Find version of user file, if it exists
'*******************************************************************************    
isUserFile = 0
For each file In folder.Files    
    If InStr(file.Name, "AMSDshbd_" & userName) = 1 Then
        isUserFile = 1
        userVersion = Mid(file.Name, (Len(userName) + 10), (InStrRev(file.Name, ".") - (Len(userName) + 10)))
        Exit For
    End If
Next

'*******************************************************************************
'Copy the file if no user file exists or if the user version is not current
'*******************************************************************************
sourceFile = folderPath & "AMSDshbd_M" & masterVersion & ".accde"
targetFile = folderPath & "AMSDshbd_" & userName & "_M" & masterVersion & ".accde"

isCopyNeeded = 1
if isUserFile = 1 then
    if userVersion = masterVersion then
        isCopyNeeded = 0
    end if
end if

if isCopyNeeded = 1 then
    objFSO.CopyFile sourceFile, targetFile, True
end if

'*******************************************************************************
'Open the file
'*******************************************************************************
sComTxt = Chr(34) & microsoftAccessFile & Chr(34) & " " & Chr(34) & targetFile & Chr(34) 
'objShell.Run sComTxt
objShell.Run sComTxt,,true

Set objFSO = Nothing
Set objShell = Nothing

1 Ответ

0 голосов
/ 18 января 2020

Я понял, что случилось. переменная "microsoftAccessFile" - это путь к EXE-файлу MS Access, некоторые пользователи имеют другой путь к этому EXE-файлу Access, поэтому он не работает для них. Я определил путь, где хранится их Access EXE и изменил сценарий для них, и теперь он работает. Спасибо за указание на переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...