С Новым годом! Форум программистов, компьютерный форум, киберфорум
OpenOffice/LibreOffice
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/64: Рейтинг темы: голосов - 64, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
1

Переменная типа Object не установлена

20.03.2018, 11:37. Показов 12307. Ответов 12

Author24 — интернет-сервис помощи студентам
Здравствуйте! Написал простейший макрос в OpenOffice 4.1.5

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Main
s=17
For i=1 To 6
    For J=1 To 24
        Cells(s. 1) = Cells(i. 1)
        Cells(s. 1) = Cells(j. 2)
        s=s+1    
    Next J
Next i
End Sub
Получил сообщение:
Ошибка времени выполнения BASIC
Переменная типа Object не установлена

При этом помечает эту строку: Cells(s. 1) = Cells(i. 1)

Что я не сделал?
Что сделать, чтобы макрос заработал?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2018, 11:37
Ответы с готовыми решениями:

Переменная установлена как $_GET, а отправка с формы установлена как POST
в главном файле идет код ********************************************************************** ...

Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта
Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта,...

Вывести переменную типа string в консоль: Object reference not set to an instance of an object
Вот такой сабж. Пытаюсь вывести переменную типа стринг в консоль Сначала, как обычно for...

Есть объект такого типа object{object[]}
Как получить доступ к внутреннему объекту? Среда - Visual Studio 2010 Обрабатываю событие из...

12
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
20.03.2018, 11:57 2
индексы ячеек разделяются запятыми
обратите внимание, внутри цикла в одну и ту же ячейку записываются разные данные
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
20.03.2018, 13:45  [ТС] 3
Исправил запятые
Теперь пишет в том же месте: Подпрограмма или функция не определена
0
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
20.03.2018, 14:47 4
проверяйте
у меня libreoffice, не думаю, что openoffice иначе работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
EM  *****  BASIC  *****
 
Sub Main
Dim oSheet As Object
oSheet=thisComponent.sheets.getByName("Лист1")
 
rem нумерация идет с 0
s=0
For i=0 To 6
 For j=0 To 24
   rem вариант числа
    oSheet.getCellByPosition(3,s).Value=oSheet.getCellByPosition(0,i).Value
    rem вариант строки
    oSheet.getCellByPosition(4,s).setstring(oSheet.getCellByPosition(0,j).getstring)
  s=s+1 
 Next j
Next i
 
End Sub
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
20.03.2018, 16:23  [ТС] 5
Пишет: Пишет синтаксическая ошибка Basic. Ожидается Sub
0
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
20.03.2018, 16:32 6
вы полностью скопировали код?
тогда в первой строке поправьте "em" на "rem"
когда копировала кода, первую букву не зацепила
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
21.03.2018, 11:03  [ТС] 7
Да. Я исправил. Всё работает.
Немного не так как хотелось бы.

Получается столбец нулей и в следующем столбце значения первого столбца с пустыми ячейками.

Нужно брать в первом столбце первое значение и ставить ему в соответствие все значения из второго столбца.
Далее берем второе значение из первого столбца и т.д.

Что надо подправить в формуле?
0
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
21.03.2018, 11:12 8
будет лучше, если все-таки приложите файл с введенными значениями и образцом того, что вы хотите получить

вышеприведенный код - лишь образец того, как работать с ячейками в libreoffice. исходных данных-то у меня нет.
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
21.03.2018, 12:07  [ТС] 9
В файле пример.
В столбцах А и В исходные данные
В столбце D результат
Вложения
Тип файла: xls Test.xls (21.5 Кб, 7 просмотров)
0
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
21.03.2018, 12:17 10
Лучший ответ Сообщение было отмечено Konstantin_F как решение

Решение

конкретно под ваше задание
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
REM  *****  BASIC  *****
 
Sub Main
Dim oSheet As Object
oSheet=thisComponent.sheets.getByName("Лист1")
 
rem нумерация идет с 0
s=0
For i=0 To 5
 For j=0 To 23
    rem вариант строки
    oSheet.getCellByPosition(3,s).setstring(oSheet.getCellByPosition(0,i).getstring + " " +oSheet.getCellByPosition(1,j).getstring)
  s=s+1 
 Next j
Next i
 
End Sub
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
21.03.2018, 12:50  [ТС] 11
Спасибо!

Всё отлично!

Подскажите где или что можно почитать, чтобы лучше разбираться в BASIC ?
0
6953 / 4984 / 2106
Регистрация: 02.02.2014
Сообщений: 13,241
21.03.2018, 13:01 12
для начала пойдет это, далее гугло- и яндекспоиск
Программирование на языке OpenOffice.org Basic.pdf
MacrosExplained-Master.pdf
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 29
21.03.2018, 17:34  [ТС] 13
Спасибо!

Вы мне помогли!
0
21.03.2018, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2018, 17:34
Помогаю со студенческими работами здесь

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int?
Пожалуйста, напомните стандартную функцию

Условие типа if( масив типа char[x] [y] != переменная типа char) не срабатывает
Создал функцию ChangeWay(). Все, кроме if(map !=ar) (обе переменные типа char) работает...

Приведение переменной типа object к переменной производного типа в приложенном коде
Добрый день! Столкнулся с проблемой. Есть обработчик события. Обработчик события общий для двух...

Вывод переменной типа object
Есть переменная alc типа object, в ней объявлена переменная типа y:double ее необходимо вывести на...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru