Как удалить все отображаемые столбцы макета ALV

Я использую скрипт для экспорта данных из SAP в Excel. Цель состоит в том, чтобы заставить этот макрос работать для всех, кто попытается его запустить, однако, если у них другой макет SAP, макрос будет испорчен. Копаясь в коде, похоже, что SAP присваивает числовое значение каждой строке. Таким образом, макрос запускает транзакцию SAP, затем изменяет макет и сбрасывает все отображаемые столбцы в макете вправо в зависимости от того, на какое число он ссылается. Теперь это работает нормально, когда я запускаю его, потому что последний столбец всегда один и тот же, но если кто-то с другим макетом запустит его, он удалит только некоторые поля.

Мне интересно, есть ли в VBA способ выбрать все строки или полностью очистить ведро «Отображаемые столбцы», а не текущий код, который:

session.findById(PLACEHOLDER).selectedRows = "0-27"

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

Отображать столбцы — пусто

Любая помощь приветствуется.

Спасибо.


person M. Terry    schedule 30.01.2020    source источник


Ответы (1)


Ответ нашел вскоре после публикации. Вместо того, чтобы использовать:

.selectedRows = "0-27"

Я использовал:

.selectAll

Это захватило все в поле, поэтому я мог затем повторно заполнить информацию, которая мне нужна.

person M. Terry    schedule 30.01.2020