Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
1

Не возвращает данные с функции

18.12.2021, 14:17. Показов 993. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте, в макросе Sub хххххх() посылаю в функцию, вот эта строка:
Visual Basic
1
Проверяемое_слово = "в " + справаSplit(J): Проверяем_орфографию_грамматику_слова (Проверяемое_слово)
функция
Visual Basic
1
Public Function Проверяем_орфографию_грамматику_слова(Проверяемое_слово) As String
считает, но не возвращает нужное, в чём проблема? спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2021, 14:17
Ответы с готовыми решениями:

Показать в программе где входные и выходные данные функции и как передаются? Что возвращает функция?
using System; using System.Collections.Generic; using System.ComponentModel; using...

Передача динамического массива из функции в функции / Функция ничего не возвращает
Здравствуйте! Хочу узнать, правильно ли я передал динамический массив в другую функцию, и почему...

не возвращает данные из MySQL
Привет! Проблема вот в чем: на двух серверах под виндой установлена идентичная БД в MySQL. Есть...

Ajax не возвращает данные
Есть первый select: <select name='ficid' id='select' onchange='javascript:selectOne();'> ...

$.ajax не возвращает данные
Доброго времени суток. Столкнулся со странной проблемой. Добавляю проверку на корректность формы...

8
Модератор
Эксперт функциональных языков программированияЭксперт Python
37147 / 20592 / 4254
Регистрация: 12.02.2012
Сообщений: 33,953
Записей в блоге: 14
18.12.2021, 14:21 2
Ципихович Эндрю, Приведи весь код функции
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
18.12.2021, 14:51  [ТС] 3
Catstail,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Public Function Проверяем_орфографию_грамматику_слова(Проверяемое_слово) As String
 
'проверяем грамматику, точку и пробел надо ставить у проверяемого слова
    If Application.CheckGrammar(Проверяемое_слово & ". ") = True Then
        MsgBox "Проверяемое слово: " & Проверяемое_слово & " без ошибок!"
    Else
        'MsgBox$ "Проверяемое слово: " & Проверяемое_слово & " подчёркнуто зелёной волнистой линией"
        'применимо для Word 2007, бывает версия Word 2007 "12.0.4518"
        If Left$(Application.Build, 2) = "12" Then Проверка_грамматики (Проверяемое_слово)
    End If
 
End Function
 
Function Проверка_грамматики(Проверяемое_слово)
 
    Dim Doc As Document
    Set Doc = Documents.Add(, True, , False)
    Doc.Content.Text = Проверяемое_слово
    Do Until Doc.GrammarChecked
        DoEvents
    Loop
    For i = 1 To Doc.Content.Words.Count
        Doc.Content.Words(i).Select
        ПервыйЭлементКонтекстногоМеню = Doc.CommandBars("Grammar").Controls(1).Caption
        If ПервыйЭлементКонтекстногоМеню <> "&Грамматика..." Then
            Exit For
        End If
    Next
    Doc.Close False
 
    If Right$(ПервыйЭлементКонтекстногоМеню, 46) = " не связан с существительным или местоимением." Then MsgBox ПервыйЭлементКонтекстногоМеню
 
End Function
кстати Вы и в питоне разбираетесь не в курсе как там это можно сделать?
смысл, чтобы "у перекрёсток" выдало как ошибку "Предлог "ххх" не связан с существительным или местоимением."
0
малоболт
1314 / 498 / 211
Регистрация: 30.01.2020
Сообщений: 1,218
18.12.2021, 15:02 4
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Ципихович Эндрю, Для того, чтобы функция возвращала значение, надо по ходу функции присвоить это значние названию файнкции. Например:
Visual Basic
1
2
3
4
5
6
Function Проверка_грамматики(Проверяемое_слово)
  Проверка_грамматики = "Jopa"
  If Проверяемое_слово = "Jopa" Then
    Проверка_грамматики = "Big Jopa"
  End If
End Function
2
help
4368 / 3999 / 803
Регистрация: 13.04.2015
Сообщений: 8,776
18.12.2021, 16:28 5
Цитата Сообщение от Punkt5 Посмотреть сообщение
"Big Jopa"
Шалун
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
19.12.2021, 14:51  [ТС] 6
я сделал как сказали, поставил проверку в макросе после того как должна вернуться переменная:
Visual Basic
1
MsgBox$ Проверяем_орфографию_грамматику_слова
получаю мессагу Argument not optional в чём я ошибаюсь? спасибо
0
330 / 180 / 99
Регистрация: 01.04.2020
Сообщений: 512
19.12.2021, 15:04 7
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Argument not optional
Argument not optional = аргумент не необязательный = аргумент обязательный

Visual Basic
1
MsgBox$ Проверяем_орфографию_грамматику_слова(ВашАргумент)
0
малоболт
1314 / 498 / 211
Регистрация: 30.01.2020
Сообщений: 1,218
19.12.2021, 15:28 8
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Argument not optional
Означает, что аргумент в вызываемой функции/подпрограмме описан без использования слова Optional и на этом основании является обязательным при вызове. Если же вы пытаетесь вызвать эту функцию/подпрограмму без указания аргумента, и слово Optional не было использовано при описании аргумета, интерпретатор предупреждает вас о том, что ваше описание функции и ваш вызов её вошли в противоречие, которое вам следует разрешить либо с той, либо с обратной сороны.
1
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
19.12.2021, 18:53  [ТС] 9
Punkt5, спасибо
не подскажет ли кто строки 19-28 в сообщении 3 что значат
Visual Basic
1
2
3
4
5
6
7
8
9
10
    Do Until Doc.GrammarChecked
        DoEvents
    Loop
    For i = 1 To Doc.Content.Words.Count
        Doc.Content.Words(i).Select
        ПервыйЭлементКонтекстногоМеню = Doc.CommandBars("Grammar").Controls(1).Caption
        If ПервыйЭлементКонтекстногоМеню <> "&Грамматика..." Then
            Exit For
        End If
    Next
?? спасибо
0
19.12.2021, 18:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2021, 18:53
Помогаю со студенческими работами здесь

DataReader не возвращает данные
Есть такой код: private void refreshWorkshop() { db_status(); ...

Создать модуль U21, который содержит следующие функции: a. Функция F(real), которая возвращает значение функции F(x)=x+(x+1)/(x+2) b. Процедуру A,
Создать модуль U21, который содержит следующие функции: a. Функция F(real), которая возвращает...

Функция возвращает некорректные данные
Привет! Сразу к делу: не понимаю, почему функция возвращает неверное значение. Вот код метода: ...

Функция возвращает старые данные
Доброго всем дня! Растолкуйте пожалуйста, в чем трабл: есть модуль, который возвращает список о...

GetCursorPos(); возвращает неправильные данные
Здравствуйте, GetCursorPos() возвращает неправильные данные положение курсора. Вот код: void...


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

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