Использование powershell для добавления гиперссылки на лист Excel, в названии которого есть скобка - PullRequest
0 голосов
/ 10 апреля 2020

Рассмотрим следующий код 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?

1 Ответ

1 голос
/ 10 апреля 2020

Для меня это работало так:

$ws1.Hyperlinks.Add($ws1.Cells.Item(2,1),"", "`'A(BC)D`'!A1") | Out-Null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...