Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2020, 14:38   #1
zw2auP&#j29!
Пользователь
 
Регистрация: 30.04.2020
Сообщений: 19
По умолчанию Завершение вставки из буфера обмена в ListObject

Имеем: ListObject на листе и кнопку на панели действий для сохранения таблицы на SQL Server.
Последовательность действий 1: Вставляем на лист строки из буфера обмена и сразу нажимаем на кнопку.
Результат: Обработчик (C#) не видит новые строки.

Последовательность действий 2: Вставляем на лист строки из буфера обмена. Тыкаем в любую ячейку. И затем нажимаем на кнопку.
Результат: Строки из ListObject сохраняются на сервере.

Вопрос: Что добавить в обработчик события нажатия на кнопку, чтобы пользователю не нужно было делать лишних движений?
zw2auP&#j29! вне форума Ответить с цитированием
Старый 06.08.2020, 23:45   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Здравствуйте.
У вас же обработчик на C# написан, а тут раздел форума по VBA
(проблема же в обработчике, раз он не видит строки)
Лучше обратитесь в раздел форума по C#

PS: никакого завершения вставки из буфера обмена в ячейки не требуется
Выделение ячейки лишь переносит фокус ввода на лист / в ячейку.
EducatedFool вне форума Ответить с цитированием
Старый 07.08.2020, 08:04   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от zw2auP&#j29! Посмотреть сообщение
Результат: Обработчик (C#) не видит новые строки.
пускай обработчик наново прочтет страницу. Не?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 07.08.2020, 10:17   #4
zw2auP&#j29!
Пользователь
 
Регистрация: 30.04.2020
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
пускай обработчик наново прочтет страницу. Не?
Можно пример?

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Выделение ячейки лишь переносит фокус ввода на лист / в ячейку.
А как это выглядело бы на VBA?

Пользователь и так вставляет строки находясь на активном листе. Вероятно не происходит ресайза ListObject`а пока он не перейдет на другую ячейку.

Я пробовал применить метод ListObject.Refresh. Но тогда вставленные строки пропадают.

Получилось с помощью
Код:
Globals.Лист8.UsedRange.Activate();
. Но, есть побочный эффект: Выделяется весь ListObject. Нужно вернуть фокус(?), но как и куда?
zw2auP&#j29! вне форума Ответить с цитированием
Старый 07.08.2020, 15:43   #5
zw2auP&#j29!
Пользователь
 
Регистрация: 30.04.2020
Сообщений: 19
По умолчанию

Код:
Globals.Лист8.UsedRange.Activate();
или
Код:
Globals.Лист8.Range["A1"].Activate();
с проблемой не идеально, но справился.

НО!
Он не работает если ячейку заполнять вручную. То есть начать что-то вводить и нажать на кнопку на панели действий до выхода из ячейки!
zw2auP&#j29! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет вставки значений в ячейку из буфера обмена ольгаг Microsoft Office Excel 4 18.11.2016 08:30
Ошибка вставки буфера обмена Aleksandr H. Microsoft Office Excel 4 03.10.2016 11:25
Хук для буфера обмена PowerUSB Microsoft Office Access 7 20.02.2016 08:20
имитация вставки из буфера NIKOPAL Общие вопросы Delphi 2 14.05.2012 15:03
Вставка из буфера обмена volonc Microsoft Office Excel 12 17.07.2010 19:04