首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IWshShell3误差VBA

IWshShell3误差VBA
EN

Stack Overflow用户
提问于 2017-03-24 14:35:08
回答 1查看 1.6K关注 0票数 0

我正在用excel中的VB代码运行一个程序,它会将一些命令写入命令提示符,并得到这个错误。我搜索了所有的网络,但没有什么看起来像我的错误。下面是我得到错误的代码的一部分:

代码语言:javascript
复制
    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中运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43002243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档