首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBScript未定义的变量错误

VBScript未定义的变量错误
EN

Stack Overflow用户
提问于 2011-11-04 04:05:09
回答 1查看 7.7K关注 0票数 0
代码语言:javascript
运行
复制
<script language="VBScript">
Option Explicit
' On Error Resume Next


Dim colIPResults, objFile, objFSO, objNIC, objWMI, objWSHNetwork, strAddresses, strIPAddress, strWQL
Const FOR_APPENDING = 8

Sub DestroyObjects()
If IsObject(objFile) Then Set objFile = Nothing
If IsObject(objFSO) Then Set objFSO = Nothing
If IsObject(objWMI) Then Set objWMI = Nothing
If IsObject(objWSHNetwork) Then Set objWSHNetwork = Nothing
' If IsObject() Then Set = Nothing
End Sub


Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWSHNetwork = CreateObject("WScript.Network")
Set objWMI = GetObject("WinMGMTS:root\cimv2")
Set StrComputer = objWSHNetwork.Computername 
strWQL = "SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'"
Set colIPResults = objWMI.ExecQuery(strWQL)
For Each objNIC In colIPResults
For Each strIPAddress in objNIC.IPAddress
If strAddresses = "" Then
strAddresses = strIPAddress
Else
strAddresses = strAddresses
End If
Next
Next

Document.write("PC Tag Number: " + StrComputer)

If strAddresses ="0.0.0.0" Or strAddresses ="" or strAddresses = "undefined" Then
    Document.write("No Connection Detected")
Else
    Document.write "Network Address - "+ strAddresses
End If

DestroyObjects()
</script>

它一直告诉我变量是未定义的!

(StrComputer的变量)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 04:06:41

您从未在第6行声明过StrComputer。

为了在这里详细说明,您使用了选项Explicit,这意味着您必须在使用所有变量之前声明它们,即使我们是在VBScript中。因此,您必须在第6行的Dim语句中包含StrComputer。

Dim colIPResults、objFile、objFSO、objNIC、objWMI、objWSHNetwork、strAddresses、strIPAddress、strWQL、StrComputer。

此外,您似乎已经更改了命名约定,使用大写首字母而不是小写字母(StrComputer与strComputer)。尽管你当然可以随心所欲地命名它,但你可能希望保持一致,这样你就不会得到错误代码,当你通读它时,它看起来仍然正确。

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

https://stackoverflow.com/questions/8001136

复制
相关文章

相似问题

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