Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Ноябрь 2019, 08:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Исправление ошибки "непарные круглые скобки"  (Прочитано 570 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Konstanta
Участник
**
Offline Offline

Сообщений: 40


« Стартовое сообщение: 25 Октябрь 2019, 09:05 »

Приветствую всех!

Простой макрос (поиск последней строки с переходом на число шагов вправо)
в LO вызывает синтаксическую ошибку "Непарные круглые скобки"

Вот код:
Range("A" & Rows.Count).End(xlUp).Offset(0).Select
ActiveCell.Offset (0;7).Range ("A1").Select

Но все скобки парные! Я не могу понять что именно ему не нравится.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 25 Октябрь 2019, 09:14 »

Точку с запятой заменить на запятую.
Записан

mikekaganski
Мастер
*****
Online Online

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 545


« Ответ #2: 25 Октябрь 2019, 09:14 »

Код:
ActiveCell.Offset (0;7).Range ("A1").Select

Но все скобки парные! Я не могу понять что именно ему не нравится.

Точка с запятой в качестве разделителя параметров?
Записан

С уважением,
Михаил Каганский
Konstanta
Участник
**
Offline Offline

Сообщений: 40


« Ответ #3: 25 Октябрь 2019, 11:31 »

Так тут и зарыта проблема:
если я ставлю в синтаксисе LO в качестве разделителя точку с запятой, то появляется ошибка не парных круглых скобок.
Если ставлю запятую данная ошибка исчезает и макрос работает, но результат формулы выдаёт ошибку, поскольку LO преобразует формулу по-другому
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #4: 25 Октябрь 2019, 11:34 »

Пишите код на StarBasic
Записан

mikekaganski
Мастер
*****
Online Online

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 545


« Ответ #5: 25 Октябрь 2019, 11:34 »

Мне кажется, Вы путаете два разных языка.

В языке LibreOffice Basic разделителем параметров функций является всегда запятая. А в языке формул Calc разделитель - точка с запятой. Когда Вы задаёте в бейсике строку формулы для калька, в строке формулы должен использоваться синтаксис калька, а в самом бейсике - синтаксис бейска.
Записан

С уважением,
Михаил Каганский
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 736


« Ответ #6: 25 Октябрь 2019, 11:36 »

Если вы макросом хотите вставить формулу в ячейку, как было в начале поста, то нужно использовать точку с запятой, она является разделителем в табличных формулах. В самом коде vba/starbasic ,  разделитель запятая
Записан
Konstanta
Участник
**
Offline Offline

Сообщений: 40


« Ответ #7: 25 Октябрь 2019, 13:54 »

Разобрался!

Задача решена, всем Спасибо!
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!