Рассмотрим следующий код PowerShell, который создает новую книгу Excel, добавляет две новые таблицы «ABCD» и «A (B C) D» и создает гиперссылки на эти листы в Sheet1.
# Create the excel com object
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $true
$wb = $excel.Workbooks.Add()
$ws1 = $wb.Worksheets.Item(1)
# Add a new worksheet named "ABCD"
$ws2 = $wb.Worksheets.Add()
$ws2.Name = "ABCD"
# Add a new worksheet named "A(BC)D"
$ws3 = $wb.Worksheets.Add()
$ws3.Name = "A(BC)D"
# Add a hyperlink to worksheet "ABCD" in worksheet "Sheet1"
$ws1.Hyperlinks.Add($ws1.Cells.Item(1,1),"", "ABCD!A1") | Out-Null
# Add a hyperlink to worksheet "A(BC)D" in worksheet "Sheet1"
$ws1.Hyperlinks.Add($ws1.Cells.Item(2,1),"", "A(BC)D!A1") | Out-Null
Вторая гиперссылка не может ссылаться на лист "A (B C) D", возможно, из-за наличия круглых скобок в имени листа.
Я пытался убрать круглые скобки, используя '`' и '\', но, похоже, это не работает.
Есть ли способ создать гиперссылку на лист Excel, в скобках которого есть имя, используя powershell?