Меню

Синтаксическая ошибка basic ожидается символ

vladimirr_B

0 / 0 / 0

Регистрация: 10.06.2017

Сообщений: 3

1

OpenOffice/LibreOffice

20.01.2021, 08:10. Показов 1164. Ответов 5

Метки нет (Все метки)


Добрый день! Возникла необходимость разработки макроса по LibbreOffice.
При попытке описания пользовательского типа при запуске возникает ошибка «Синтаксическая ошибка BASIC. Ожидается символ.»

Код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Type tPerson
  Name As String
  Age As Integer
  Weight As Double
End Type
 
Sub Main
dim asd as string
dim a As tPerson
asd = "adasdad"
a= len (asd)
End Sub

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



badakhshan

Заблокирован

20.01.2021, 09:44

2

vladimirr_B, дело в том, что переменной a (As tPerson) нельзя присвоить число, имхо…

Попробуйте так:

Visual Basic
1
a.Weight = Len(asd)



0



vladimirr_B

0 / 0 / 0

Регистрация: 10.06.2017

Сообщений: 3

26.01.2021, 07:28

 [ТС]

3

Откорректировал. Но та же ошибка.

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
Type tPerson
  Name As String
  Age As Integer
  Weight As Double
End Type
 
Sub Main
dim asd as string
dim a As tPerson
asd = "adasdad"
a.Weight = len (asd)
End Sub



0



Alex77755

11464 / 3757 / 675

Регистрация: 13.02.2009

Сообщений: 11,097

26.01.2021, 09:46

4

Скорей всего зарезервированное имя name

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Type tPerson
  aName As String
  Age As Integer
  Weight As Double
End Type
 
Sub Main
dim asd as string
dim a As  tPerson
asd = "adasdad"
a.aName=asd
a.Age= len(asd)
a.weight=len(asd)/2
msgbox a.aname & chr(10) & a.age & chr(13) & a.weight
 
End Sub

Миниатюры

Проблема с пользовательским типом VBA
 



0



11464 / 3757 / 675

Регистрация: 13.02.2009

Сообщений: 11,097

26.01.2021, 09:50

5

И бейсик показывает разной подсветкой



0



11464 / 3757 / 675

Регистрация: 13.02.2009

Сообщений: 11,097

26.01.2021, 09:52

6

вот

Изображения

 



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

26.01.2021, 09:52

Помогаю со студенческими работами здесь

Чтение запись текстовых файлов с пользовательским типом данных
помогите пожалуйста записать и считать пользовательский тип данных. Вот мои наброски, он вроде…

Написать программу, работающую с пользовательским типом, состоящим из 6 полей
Написать программу, работающую с пользовательским типом, состоящим из 6 полей:
— имя (15 символов)…

Работа с файлами прямого доступа с определенным пользовательским типом данных
Доброго времени суток. Недавно начал изучать C# до этого изучал Delphi. В Delphi при работе с…

Как вывести данные на консоль из вектора, параметризованного пользовательским типом, с помощью std::cout?
Добрый день, друзья!
Имеется структура
struct OMNOMNOM
{
Vector X;
double F;
}
которая…

Проблема с типом string
Выдаёт ошибку, как исправить

Проблема с типом string
Здравствуйте, мне нужно посимвольно пройтись по string commandCdWay, и пока цикл не дойдет до…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

6

Автор ForumOOo (бот), 25 июня 2019, 18:37

0 Пользователи и 1 гость просматривают эту тему.

Компонент: Writer
Версия продукта: 4.x
Сборка: Apache OpenOffice 4.1.3
ОС: windows 7

В ООoFBTools при экспорте Word в формат FB2 происходит синтаксическая ошибка Basic. Ожидается символ. Как  это исправить

Тестовый файл: http://forumooo.ru/attachments/upload/oshibka.jpg (273.93 КБ)


Подпись: Татьяна
Эл. почта: dollar6392@yandex.ru


Возможно, хотя и маловероятно, что это зависит от того, откуда Вы устанавливали расширение (на официальном сайте доступна версия 2.55, тогда как на сайте расширения AOO — только 2.40, и можно себе представить, что это ошибка какой-то из версий) — но больше похоже на повреждённый макрос: на скриншоте видно, что в строке 35 вместо

Sub SaveDocIsModified( oDoc As Object )
(как, например, в версии 2.55, которую я только что поставил для проверки), у Вас нечто некорректное:

Sub  As Object )
как будто SaveDocIsModified( oDoc случайно удалили, что, естественно, приводит к ошибке (и я на самом деле не верю, что такая ошибка могла незамеченной попасть в релиз — скорее, это Вы сами случайно что-то такое сделали)…

В общем, я советую удалить и установить расширение заново.


Я переустановила ООoFBTools по вашей ссылке и теперь выдает другую ошибку. С чем это может быть связано?


Цитата: Татьяна1 от 26 июня 2019, 15:16…теперь выдает другую ошибку. С чем это может быть связано?

Не находит указанный макрос, в прошлый раз пропал кусок от макроса, а сейчас наверно пропал весь макрос.

Я проверил две версии 2.55 и 2.40, обе работают. Вы должны написать подробней откуда и какую версию ставите, каким образом (ваши действия), какая у вас ось. Как запускаете расширение, было бы хорошо, если бы вы выложили небольшой тестовый документ, который у вас не работает с подробным описанием ваших действий приводящих к сбою.


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

  • Главная категория

  • Writer

  • В ООoFBTools при экспорте Word в формат FB2 происходит синтакс…

Howdy, I’m not having much luck in attempting to get this a Sub Module in an embedded macro to work in this document. This document (attached) was given to me by a professor for an Options & Futures MBA class, to try to visualize option pricing, look at the ‘Greeks’, etc.. I realize this was intended to be run on a Windows machine, but the code doesn’t look too far off from VBA to try to get it working in OO. I’m currently running version 3.1, on Mac 0S 10.5.8.

The first problem, is that I opened the document as .xls, and resaved as .ods. since I hear that might help resolve the #NAME? errors that appear in the document. When I go to Tools->Macros->Organize Macros->OO Basic, and then click the Module 2 macro under OptionTradingWoorkbook2->Standard->Module2 (Edit) I get the following error when I go to try to compile the code:

BASIC Syntax Error
Expected: Sub

I attempted to verify the VBA code as OO Basic first by using an on-line converter, and there was no difference (verified by the unix diff command). I’ve never used VBA or macros in Excel, so I’m not sure what the problem here is..

Any pointers, suggestions, etc., on how to make this work would be very helpful, I have a quiz due Tuesday that depends on getting this working. If I can’t get it to work here, the next option will be to try to get Parallels working on my mac, but I’d like to see if it’s possible to get this working on OO first.

  • Печать

Страницы: [1]   Вниз

Тема: Правила BASIC не работают в макросах LibreOffice, или почему не едут лыжи?  (Прочитано 8961 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
MAMOHT

Дорогому All-у доброго времени суток и года!
«Всё было хорошо пока не занялся программированием…»
                                        «МАМОНТ. Copyright 11:21 29.06.2012 г.»
Как древний виндузятник порочащий весь и вся Человечную ОС по воле судьбы был приговорён к освоению софта под Линукс. И вот, при попытке написания макросов под LibreOffice, столкнулся с такими вот траблами:

При создании книжного макроса:

Sub MyCursor
  Dim Doc As Object
  Dim Cursor As Object
  Dim sPath As String

  Doc = StarDesktop.CurrentComponent
  Cursor = Doc.Text.createTextCursor()

Вот здесь выскакивает окно сообщения с надписью: «Свойство или метод не найдены: Text»

…..........
…........
  sPath = CurDir$
  MsgBox sPath
А здесь в сообщении чётко указана моя домашняя директория, но НЕ ТА директория в которой СЕЙЧАС открыт документ.

…......
End Sub

Проблема:
Из чьей кожи надо сделать бубен и какие изучить PAS, чтобы при составлении макроса на BASIC в LibreOffice 3.5.4.2 ID сборки: 350m1(Build:2) системы Ubuntu 10.04.4 всё-таки РАБОТАЛО правило Cursor = Doc.Text.createTextCursor() и как мне получить ТУ ТЕКУЩУЮ директорию в которой сейчас открыт АКТИВНЫЙ документ?

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

« Последнее редактирование: 29 Июня 2012, 15:56:47 от Чистый »


Оффлайн
Señor_Gaga

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

Если мне изменяет память — бейсик идет только для msWord.
Для ОО и LO есть свой скриптовый язык.


Оффлайн
MAMOHT

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

Если мне изменяет память — бейсик идет только для msWord.
Для ОО и LO есть свой скриптовый язык.

Вторую часть КАК-БЫ проблемы КАК-БЫ решил. Правда использованием не кратчайшего пути: это КАК-БЫ проехать в Париж через Владивосток. Нашёл описание на 114 странице книги Эндрю Питоньяк (Andrew Pitonyak)OpenOffice.org pro. Автоматизация работы.

Теперь к Señor_Gaga. Здесь точно КТО-ТО ошибается!!!

Переписываю дословно окно сообщения:
«Ошибка времени выполнения BASIC.
Свойство или метод не найдены: TEXT»


Оффлайн
brij

Не могу сейчас точно ответить на Ваш вопрос, но просто вспомнил, что у Питоньяка есть много чего по макросам ЛО. Наверняка, Вам уже это известно, но все же на всякий пожарный  ;) Если дружите с английским, то здесь http://www.pitonyak.org/oo.php/ можно найти очень много полезного, особенно мне когда-то сильно помог его «Macro document» http://www.pitonyak.org/oo.php/AndrewMacro.pdf. Там кстати, есть и его еще незаконченный список параллелей с VBA. Может пригодится.


Оффлайн
Dixi257


  • Печать

Страницы: [1]   Вверх

Поговорим о новичке! Я не могу скомпилировать свою первую строку. Основная синтаксическая ошибка: ожидается символ

REM  *****  BASIC  *****
Type xyz
    Dim sheet as object
    Dim cell as object
    dim range as object
End Type


Sub Main

End Sub

Версия: 6.0.2.1 (x64) Идентификатор сборки: f7f06a8f319e4b62f9bc5095aa112a65d2f3ac89

Инструменты-> макросы-> редактировать макросы>

Компиляции

1 ответ

Лучший ответ

Dim объявляет локальные переменные внутри подпрограмм. В операторах типа он не используется.

Причина, по которой эту ошибку было сложно диагностировать, заключается в том, что похоже, что проблема в Type xyz, но с этой частью все в порядке. IDE выделяет все, что находится перед первым оператором Dim, что может быть незначительной проблемой синтаксического анализатора. Следующий код показывает, что даже комментарий может быть выделен!

Type xyz
    'This comment will be highlighted because of the Dim error.
    Dim sheet as object
End Type

Эта неточность обычна для любого компилятора. Сообщения об ошибках часто указывают на проблемы, а не говорят точно, в чем и где проблема.


0

Jim K
26 Май 2020 в 20:54

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Система psc toyota ошибка
  • Синтаксическая ошибка basic неожиданный символ