Я работаю с C ++ неуправляемым и Excel 2007. Я использую вызов Excel4 API, чтобы получить диапазон ячеек, выбранных пользователем.
Когда пользователь выбирает то, что я называю «общим» диапазоном, этот вызов возвращает диапазон, подобный этому «R1C1: R4C3», который является именно тем форматом, который мне нужен для выполнения других операций в моем приложении.
Однако, когда пользователь решает выбрать целые столбцы, этот вызов API возвращает диапазон только со столбцами, что-то вроде этого "C1: C3", что, конечно, является допустимым диапазоном Excel, но для меня это означает, что у меня есть изменить его так, чтобы он выглядел как диапазон выше; другими словами, я должен вручную добавить диапазон строк.
Поэтому я беру этот диапазон «C1C3» и меняю его на «R1C1: R65534C3».
Возможно, в этот момент вы уже заметили мою проблему, так как вы можете видеть, что я жестко кодирую диапазон строк, чтобы быть максимальным числом строк, поддерживаемых Excel 2003 (приложение также работает с этой версией Excel).
Это, конечно, не то, что я ищу, потому что как только я получаю выбранный диапазон, я читаю информацию в этом диапазоне и использую эту информацию, чтобы сделать запрос к серверу, поэтому представьте, что пользователь только вводил данные до строки 534 и до сих пор в моем запросе не будет 65000 строк ни с чем.
Итак, мой вопрос: как я могу получить последнюю ячейку, в которую пользователь ввел данные, я думаю, что она называется последней активной ячейкой, поэтому я могу ограничить свой диапазон до этой строки и, пожалуйста, помните, что я работаю с неуправляемой код.