Если вы хотите получить ссылку на рабочий лист, вы можете обновить свой код, чтобы ничего не печаталось / не возвращалось, кроме того, что вы ищете. В существующем состоянии вы возвращаете две переменные ..
$wksht = Create-Excel-Spreadsheet
$wksht[0]
-> Boolean (True) $wksht[1]
-> ссылка на рабочий лист.
Второй индекс вашей возвращаемой переменной будет содержать ссылку на электронную таблицу, где first - просто логическое значение.
Это хорошее чтение от основателя powershell о том, почему это происходит .
Если вы возьмете свой код и выполните его, вы обнаружите, что перед печатью самого объекта $xl_wksht
напечатан True
. Вам нужно убедиться, что на экране больше ничего не печатается, кроме необходимой вам переменной / ссылки.
Измените эту строку в своем коде, и вы сможете получить ссылку.
$MergeCells.Select() | Out-Null # line 17 of your code. Add | Out-Null. Or, Simply remove this line as it doesnt do anything.
после обновления кода вы можете использовать переменную для получения значения из вашего метода
$wksht = Create-Excel-Spreadsheet
$wksht.Cells(5, 1) = "Test" // Writes Test on Row 5, Col 1.