Как обратиться к другому файлу?

Автор OOKapitan, 6 марта 2018, 15:36

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

tagezi

#15
Цитата: OOKapitan от 12 марта 2018, 11:27
Цитата: tagezi от 12 марта 2018, 08:54использовать Elseif
как сократить? Моих знаний для этого явно недостаточно. Помогите, пожалуйста.
Это проблема у всех начинающих. Ничего страшного, но учиться действительно нужно.

Берёте лист бумаги, рисуете весь алгоритм блок-схемами (можно использовать программу для этого, Dia, Draw). Получается визуальная модель.
Проверяете, где у вас стоит лишний шаг в проверке, сокращаете в этих местах. Затем выделяете одинаковые куски и выносите их в отдельный модуль/функцию.
И по кругу, пока не доработаете до кондиции...

elseif описан тут для OOo
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

OOKapitan

Цитата: tagezi от 12 марта 2018, 09:47elseif описан тут для OOo
Так я так и писал у себя, но получал ошибку, что метод не понятен (по смыслу пишу).

tagezi

Цитата: OOKapitan от 12 марта 2018, 12:35
Цитата: tagezi от 12 марта 2018, 09:47elseif описан тут для OOo
Так я так и писал у себя, но получал ошибку, что метод не понятен (по смыслу пишу).
Скорее всего, допускаете ошибку в синтаксисе.
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

OOKapitan

Цитата: tagezi от 12 марта 2018, 11:03Скорее всего, допускаете ошибку в синтаксисе.
Вот код:
Sub Proverka
Dim a as Integer
a = MsgBox("В столбце есть нули?", 3 + 32 + 512, "Запрос параметров")
If a = 6 Then DelNuli ElseIf a = 7 Then qickDelColumn Else Exit Sub
End Sub

Ругается на ElseIf. Но если его разделить (Else If), то пашет нормально (qickDelColumn - другой макрос, рабочий). Где ошибка? Подскажите, пожалуйста.

tagezi

Цитата: OOKapitan от 12 марта 2018, 13:47Ругается на ElseIf.
Так, вам нужно прочитать правила синтаксиса Basic.
Вы сделали, эм.. 6 синтаксических ошибок.
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

OOKapitan

Цитата: tagezi от 12 марта 2018, 15:04Так, вам нужно прочитать правила синтаксиса Basic.
Вы сделали, эм.. 6 синтаксических ошибок.
Вообще-то сам код я скопировал с другого сайта, найденного поиском в интернете, так как сам я додуматься, как повесить условия на 3 кнопки MsgBox, не смог. На том сайте код числится как рабочий. А какие 6 ошибок? Ну одну я вижу, а остальные 5?

rami

Цитата: OOKapitan от 12 марта 2018, 15:14Вообще-то сам код я скопировал с другого сайта, найденного поиском в интернете, так как сам я додуматься, как повесить условия на 3 кнопки MsgBox, не смог. На том сайте код числится как рабочий.
Эх, знал бы где такой код пишут, сам бы у них списывал ;D
Sub Proverka
Dim a as Integer
a = MsgBox("В столбце есть нули?", 3 + 32 + 512, "Запрос параметров")
If a=6 Then       'первое условие
DelNuli           'если первое условие верно
ElseIf a=7 Then   'второе условие
qickDelColumn     'если второе условие верно
End If            'закрываем блок условий, остальное (кнопка отменить) в пролёте
End Sub

OOKapitan

Цитата: rami от 12 марта 2018, 15:53Эх, знал бы где такой код пишут, сам бы у них списывал
Большущее спасибо. Даже огромнейшее. Разжевали по полочкам.