我正在用excel中的VB代码运行一个程序,它会将一些命令写入命令提示符,并得到这个错误。我搜索了所有的网络,但没有什么看起来像我的错误。下面是我得到错误的代码的一部分:
If ThisWorkbook.Sheets("BaseStation" & i).Cells(7, intcol) <> "" Then
Set oShell = CreateObject("WScript.Shell")
oShell.Run ("telnet -f C:\Users\" & Environ("Username") & "\output.log " & ThisWorkbook.Sheets("BaseStation" & i).Cells(3, intcol))
Application.Wait (Now + TimeValue("00:00:04"))
Set ObjFS = CreateObject("Scripting.FileSystemObject")
Set objFile = ObjFS.GetFile("C:\Users\" & Environ("Username") & "\output.log")
Set ts = objFile.OpenAsTextStream(1, -2)有什么想法吗?
编辑:我必须指出,这个程序在我的另一台计算机上运行得很好,经过调查,我发现这台计算机之间的区别是,这台计算机(有错误的)有32位excel,而另一台(运行应用程序的没有错误)有64位excel。问题是,这个应用程序也必须在32位excel中运行。
发布于 2017-03-28 11:22:49
我发现了错误的原因,所以我会解释,以防其他人处理这个问题。因此,windows有两种类型的命令提示,一个用于64位程序,另一个用于32位程序。当您激活telnet时,它只激活64位的功能。因为我使用了32位Office,所以它试图访问没有telnet功能活动的32位cmd,所以我找到了一个解决方案:将"telnet.exe“从C:/Windows/Sysyem32 32复制到C:/Windows/SysWOW64 64。通过这样做,您将能够从32位命令提示符中使用telnet。
https://stackoverflow.com/questions/43002243
复制相似问题