Vbscript VB脚本系统找不到某些计算机/用户上指定的文件
你好!我有一个打开access应用程序的脚本 此脚本适用于多个用户,但不适用于一个用户。此用户正在获取此错误 “错误80070002:系统找不到指定的文件” 我很确定我的脚本没有问题,因为只有一个人遇到了这个问题 是否有导致此问题的计算机设置或更新? 除“打开文件”部分外,所有操作都正常 这仅适用于某些计算机/用户。大多数计算机/用户可以毫无问题地执行此操作 提前谢谢 这是剧本Vbscript VB脚本系统找不到某些计算机/用户上指定的文件,vbscript,Vbscript,你好!我有一个打开access应用程序的脚本 此脚本适用于多个用户,但不适用于一个用户。此用户正在获取此错误 “错误80070002:系统找不到指定的文件” 我很确定我的脚本没有问题,因为只有一个人遇到了这个问题 是否有导致此问题的计算机设置或更新? 除“打开文件”部分外,所有操作都正常 这仅适用于某些计算机/用户。大多数计算机/用户可以毫无问题地执行此操作 提前谢谢 这是剧本 '**********************************************************
'*******************************************************************************
'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
我知道发生了什么。变量“microsoftAccessFile”是指向MS Access EXE的路径,一些用户有不同的路径指向此Access EXE,这就是为什么它对他们不起作用。我确定了他们的Access EXE的存储路径,并为他们更改了脚本,现在可以使用了。谢谢你指出变量我知道发生了什么。变量“microsoftAccessFile”是指向MS Access EXE的路径,一些用户有不同的路径指向此Access EXE,这就是为什么它对他们不起作用。我确定了他们的Access EXE的存储路径,并为他们更改了脚本,现在可以使用了。感谢您指出变量什么是
MicrosoftAccess文件
?将Option Explicit
放在顶部。错误发生在哪一行?@HelO'Ween它位于“objShell.Run sComTxt,,true”错误显示第86行,这是它指向的地方。@omegaspes它被声明为Access应用程序本身,抱歉,我没有包含脚本。这是“查找用户名”之前的脚本:大家好,我知道发生了什么。变量“microsoftAccessFile”是指向MS Access EXE的路径,一些用户有不同的路径指向此Access EXE,这就是为什么它对他们不起作用。我确定了他们的Access EXE的存储路径,并为他们更改了脚本,现在可以使用了。感谢您指出变量@HelO'WeenWhatmicrosoftAccessFile
?将Option Explicit
放在顶部。错误发生在哪一行?@HelO'Ween它位于“objShell.Run sComTxt,,true”错误显示第86行,这是它指向的地方。@omegaspes它被声明为Access应用程序本身,抱歉,我没有包含脚本。这是“查找用户名”之前的脚本:大家好,我知道发生了什么。变量“microsoftAccessFile”是指向MS Access EXE的路径,一些用户有不同的路径指向此Access EXE,这就是为什么它对他们不起作用。我确定了他们的Access EXE的存储路径,并为他们更改了脚本,现在可以使用了。感谢您指出变量@HelO'Ween