2015-09-30 6 views
1

Просто задал вопрос о powershell здесь Finding excel cell reference, и мне нужно добавить к нему.Powershell add 1 to excel column reference

Общий код, который я получил, заключен в следующем.

$filePath = "c:\temp\test.xlsx" 

if (test-path $filePath) { 
$wb = $xl.Workbooks.Open($filePath) 
$ws = $wb.Worksheets.Item("sheet1") 
if ([bool]$ws.cells.find("German   Baseload")) {write-host $ws.cells.find("German   Baseload").address(0, 0, 1, 0)} 
} 

Это возвращает ссылку ячейки F25, который где строка находится, основываясь на этом, я хочу, чтобы проверить ячейку рядом с ним в опорной ячейки G25, мой вопрос, как я могу добавить один столбец F25 ?

ответ

1

Доступ к любой ячейке из известной ссылки на ячейку - это просто вопрос применения Range.Offset property к исходной ссылке на ячейку.

$filePath = "T:\TMP\findit.xlsx" 
$xl = New-Object -ComObject Excel.Application 
$xl.Visible = $true 
if (test-path $filePath) { 
$wb = $xl.Workbooks.Open($filePath) 
$ws = $xl.WorkSheets.item("sheet1") 
if ([bool]$ws.cells.find("German")) 
    { 
    $found = 1 
    $rc1 = $ws.cells.find("German") 
    $rc2 = $rc1.offset(0, 1) 
    write-host $found 
    write-host $rc1.address(0, 0, 1, 1) 
    write-host $rc2.address(0, 0, 1, 1) 
    write-host $ws.cells.find("German").offset(0, 1).address(0, 0, 1, 1) 
    } 
} 

Я сообщил об избыточном адресе ячейки обратно как способ подтверждения.