Использование переменной .Range вызывает ошибку времени выполнения в vba

Я полный новичок в Powershell, поэтому я принял это как учебную задачу, так как мне нужен был быстрый и простой способ проверить список ПК для статуса вверх / вниз. Эти настройки были необходимы, чтобы заставить его выводить чисто на экран и в txt-файл

$Output= @()
$names = Get-content "hnames.txt"
foreach ($name in $names){
  if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
   $Output+= "$name,up"
   Write-Host "$Name,up"
  }
  else{
    $Output+= "$name,down"
    Write-Host "$Name,down"
  }
}
$Output | Out-file "C:\support\result.csv"
0
задан Pᴇʜ 16 January 2019 в 09:43
поделиться

1 ответ

Я подозреваю, что это связано с тем, что вы не попали на лист Active, когда запускаете команду.

Попробуйте использовать это вместо

With ThisWorkbook.Worksheets("Test")
    .Range(.Cells(8, 2), .Cells(AmountofRows, AmountofColumns)).Copy
End With

То, как вы использовали Cells, будет просто использовать активный лист, который потерпит неудачу при попытке копирования со смешанным объявлением. Убедитесь, что вы всегда полностью определяете свои диапазоны

0
ответ дан Tom 16 January 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: