2015-01-29 3 views
1

Я создал новый qlikview doc, и в скрипте я просто хотел узнать, нет ли листов. Так что я написалQlikView ActiveDocument.NoOfSheets не работает

iNumSheets = ActiveDocument.NoOfSheets; 
iVar = 2; 

FOR t = 0 to iNumSheets 
    iVar = 4; 
NEXT 

Я получаю следующее сообщение об ошибке

Script line error: 
FOR t = 0 to iNumSheets 

Что я упускаю? Я программисты в течение многих лет, и эти простые вещи часто приводят меня в орехи в qlikview. Пожалуйста помоги.

ответ

1

Похоже, что вы используете редактор скриптов Load для вашего кода, а не редактор модуля.

Доступ к редактору модуля можно получить с помощью Ctrl + M.

Вам нужно будет удалить точки с запятой в конце строки кода, а также приложить код Sub и End Sub, если вы используете VBScript в качестве канала для кода.

enter image description here

+0

Спасибо, получил его. – VivekDev

0

Поскольку счетчик числа циклов начинается с 0, вам нужно будет сделать iNumSheets - 1, т. Е. for t = 0 to iNumSheets - 1.

Вы можете использовать приведенный ниже код, чтобы перекрыть видимые листы, что позволяет избежать дополнительного шага.

Код

for i = 0 to ActiveDocument.NoOfSheets - 1 
your code... 
next 
+0

:(Ни один человек, все та же проблема. Не уверен, что является причиной. – VivekDev

+0

не странно, пожалуйста, попробуйте LET, чтобы присвоить значение переменной. –

Смежные вопросы