C # - выберите ячейку в правом нижнем углу - PullRequest
0 голосов
/ 11 сентября 2018

Я ищу способ переместить выбранную ячейку из левого верхнего угла в правый нижний. Я пытался использовать xlDirection, но это подчеркивает все и не позволяет мне делать комбинации движений.

A   B   C
1   4   7
2   5   8
3   6   9

Я начинаю с А, и теперь хочу сосредоточиться только на 9. Размер эксцессов меняется, поэтому я не могу указать фактическую ячейку, которую нужно искать каждый раз. Я надеялся, что есть такие же команды, как Ctrl + Down или Ctrl + Right, которые поместили бы меня в ячейку.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Ссылку на все нажатия клавиш можно найти здесь: https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.sendkeys?view=excel-pia

public class Navigator
{
    private Excel.Application excel;

    private Excel.Workbook workbook;

    public void NavigateToBottomRight(string filePath, string worksheetName)
    {
        excel = new Excel.Application();
        excel.Visible = true;
        workbook = excel.Workbooks.Open(filePath);
        var worksheet = workbook.Worksheets.Cast<Excel.Worksheet>().FirstOrDefault(x => x.Name == worksheetName);

        Excel.Range cell = worksheet.Cells[1, 1];
        cell.Activate();

        string controlRight = "^{Right}";
        string controlDown = "^{Down}";

        excel.SendKeys(controlRight, true);
        excel.SendKeys(controlDown, true);

        //Do other work here

        workbook.Save();
        excel.Quit();
    }
}

Надеюсь, это поможет!

0 голосов
/ 11 сентября 2018

не можете ли вы отправить нажатия клавиш на объект?

...