AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2013, 17:09   #1  
Sova_imported is offline
Sova_imported
Участник
 
46 / 10 (1) +
Регистрация: 15.11.2007
Добрый день всем!
Хочу спросить, есть ли возможность при считывании файла Excel логически отследить,
является ли строка скрытой, или нет.
Если скрыть строки, они все равно считываются при переборе - получается, сокрытие только визуально для пользователя, а для функции его не существует?
Можно ли такой оператор оживить, или синтаксис не верен:
IF XlWorkSheet.Range(i).EntireRow.Hidden=TRUE THEN;
Он, конечно, не компилируется. Возможно ли в принципе
задать этой конструкции логику?
Старый 27.12.2013, 14:05   #2  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
В range указывается на i, а адрес ячейки, например "A1".
Старый 27.12.2013, 14:16   #3  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Основной вопрос в том что возвращает XlWorkSheet.Range(i).EntireRow.Hidden в NAV. Он может ничего не возвращать и естественно сравнение будет ошибкой. И, собственно, зачем здесь сравнение? Конструкция вида IF XlWorkSheet.Range(i).EntireRow.Hidden THEN; более понятна по логике - ожидается возврат значения и так далее (если значение возвращается)...
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 27.12.2013, 14:26   #4  
Sova_imported is offline
Sova_imported
Участник
 
46 / 10 (1) +
Регистрация: 15.11.2007
>>Основной вопрос в том что возвращает XlWorkSheet.Range(i).EntireRow.Hidden в NAV. Он может ничего не возвращать и естественно сравнение будет ошибкой.

В том-то и дело, что конструкция ошибочна, она не возвращает значения. Я думала - может, есть какой-то еще способ проверки установленной скрытости.
Старый 27.12.2013, 14:27   #5  
Sova_imported is offline
Sova_imported
Участник
 
46 / 10 (1) +
Регистрация: 15.11.2007
Цитата:
Сообщение от InTacto Посмотреть сообщение
В range указывается на i, а адрес ячейки, например "A1".
Спасибо, с екселем работаю давно.
Конструкцию дала просто как пример, акцент вопроса - в другом...
Старый 27.12.2013, 14:29   #6  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
а зачем EntireRow используется в этой конструкции?
Старый 27.12.2013, 14:50   #7  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Понял зачем это.

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


Код:
  a := xlWrksheet2.Range('A1');
  MESSAGE(FORMAT(a.EntireRow.Hidden));

Name	DataType	Subtype	Length
xlWrksheet2	Automation	'Microsoft Excel 12.0 Object Library'.Worksheet	
a	Automation	'Microsoft Excel 12.0 Object Library'.Range
Старый 27.12.2013, 16:07   #8  
Sova_imported is offline
Sova_imported
Участник
 
46 / 10 (1) +
Регистрация: 15.11.2007
Цитата:
Сообщение от InTacto Посмотреть сообщение
Понял зачем это. />

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


[code] a := xlWrksheet2.Range('A1');
MESSAGE(FORMAT(a.EntireRow.Hidden));
Ух ты...! ага, сейчас попробую!
У меня библиотека 14, но, думаю, хуже не станет...
Старый 27.12.2013, 16:13   #9  
Sova_imported is offline
Sova_imported
Участник
 
46 / 10 (1) +
Регистрация: 15.11.2007
Все получилось. Теперь враг не пройдет...
Суть была в том, что юзерь присылает цены на закачку, мало того, как пень на душу положит, так еще и со
скрытыми строками. В этом случае дается отлуп.
InTacto, огромное вам спасибо!
 

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:06.