Function 当我从一个函数返回一个变量时,它不会显示所有的变量吗?
我有一个从Excel工作表中检索子网的函数(例如10.123.123.64/26)。然后我从结尾修剪“.64/26”字符并返回它。当我调用函数外部的变量时,它只显示前两个字符(10)Function 当我从一个函数返回一个变量时,它不会显示所有的变量吗?,function,powershell,variables,return,Function,Powershell,Variables,Return,我有一个从Excel工作表中检索子网的函数(例如10.123.123.64/26)。然后我从结尾修剪“.64/26”字符并返回它。当我调用函数外部的变量时,它只显示前两个字符(10) 我希望能够在函数外部调用变量$Subnet1。@MathiasR.Jessen在注释部分: 您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet@MathiasR.Jessen,在注释部分: 您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=G
我希望能够在函数外部调用变量
$Subnet1
。@MathiasR.Jessen在注释部分:
您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet@MathiasR.Jessen,在注释部分:
您需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet您是否已将函数输出保存到$Var并在其上使用了$VarName.Length?您是否尝试通过使用
$VarName | Format List
来确认这不是一个显示问题?可能您正在获取一个列表,尝试迭代返回。您是否可以提供以下输出:Write Host$search.offset(0,3)。Text
无法复制此结果,当我将10.123.123.
应用到一个在B列中有搜索项、在F列中有示例IP地址的工作表时,我得到了它。你能给我们看一下调用你函数的代码吗?@Kevmc这不是你要找的变量值-你需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet
是否已将函数输出保存到$Var中并在其上使用了$VarName.Length
?您是否尝试通过使用$VarName | Format List
来确认这不是一个显示问题?可能您正在获取一个列表,尝试迭代返回。您是否可以提供以下输出:Write Host$search.offset(0,3)。Text
无法复制此结果,当我将10.123.123.
应用到一个在B列中有搜索项、在F列中有示例IP地址的工作表时,我得到了它。你能给我们看一下调用你函数的代码吗?@Kevmc这不是你要找的变量值-你需要将函数的输出分配给调用范围中的一个新变量:$Subnet1Result=GetSubnet
function GetSubnet() {
$FilePath = "C:\fwchange\IP.xlsx"
$SheetName = "STORE SUBNET MASK"
$Excel = New-Object -ComObject Excel.Application
$WorkBook = $Excel.Workbooks.Open($FilePath)
$WorkSheet = $WorkBook.Sheets.Item($SheetName)
$Range = $Worksheet.Range("B1").EntireColumn
$Search = $Range.Find($storeno)
Write-Host $search.Offset(0, 3).Text
$Subnet = $search.Offset(0, 3).Text
$Subnet1 = $Subnet.TrimEnd('64/26')
$WorkBook.Save()
$WorkBook.Close()
$Excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel)
Remove-Variable excel
Stop-Process -Name "Excel" -Force
return $Subnet1
}