Re: Как вставить в отчет имя текущего пользователя

есть вопросы к
https://forum.technologics.ru/post2946.html#p2946

1. откуда в
Public Function FIO(ID, DID, Mas) As String попадут указанные в скобках параметры ?
2. - зачем вообще нужна Function FIO ?
- Пробую по-другому
В модуле Access пишу

Public Function Connect_TCS_API()
(1)
'======================
Set TCSObj = CreateObject("CSDN.TCS")
Set TCSApp = TCSObj.LoginCurrent
user = TCSApp.LoginUserName
'======================
(2)
MsgBox user (3)
End Function

при этом между (1) и (2) выполнение длится 10 сек ! , - это для того, чтобы получить всего лишь одно слово ИвановИИ !!!!

строка (3) выдаёт то, что надо

пишу call Connect_TCS_API в ячейке, именованной в пределах листа,
ошибка ... Wrong number of arguments

тогда пишу Public Function Connect_TCS_API(user)
и call Connect_TCS_API(user) в ячейке, именованной в пределах листа,
ошибка ... не нахожу функцию Connect_TCS_API(user)

Как записать параметр, возвращаемый функцией в ячейку ?

Re: Как вставить в отчет имя текущего пользователя

См. раздел справки: 14.10.10 Функции

Таким образом в Вашем случае функция должна быть объявлена так:

Public Function Connect_TCS_API( UnusedPar1, UnusedPar2, UnusedPar3 ) As String

please-change-link

Re: Как вставить в отчет имя текущего пользователя

Сергей Девятериков писал(а):
См. раздел справки: 14.10.10 Функции

Таким образом в Вашем случае функция должна быть объявлена так:

Public Function Connect_TCS_API( UnusedPar1, UnusedPar2, UnusedPar3 ) As String

пробовала и так
Public Function Connect_TCS_API(user) As String

call Connect_TCS_API и
call Connect_TCS_API(user) выдают ошибки, указанные в первом сообщении
....при этом запуск функции Connect_TCS_API проходит безошибочно

please-change-link

Re: Как вставить в отчет имя текущего пользователя

Так, как я написал Вы пробовали?

Re: Как вставить в отчет имя текущего пользователя

Сергей Девятериков писал(а):
Так, как я написал Вы пробовали?

пробовала ... ещё до того, как написала на форум ...
не работает ...
вот я и думаю ... или вы чего-то "умолчали" в документации, или я что-то не так делаю ...
ещё раз ...

- в Module пишу
Public Function Connect_TCS_API(user) As String
Set TCSObj = CreateObject("CSDN.TCS")
Set TCSApp = TCSObj.LoginCurrent
user = TCSApp.LoginUserName
End Function
- в ячейке, где ожидается вывод user, пробую
call Connect_TCS_API - ошибка
call Connect_TCS_API(user) - ошибка
P.S. области ВЫПОЛНИТЬ - нет

Re: Как вставить в отчет имя текущего пользователя

в Module надо писать:

Public Function Connect_TCS_API( UnusedPar1, UnusedPar2, UnusedPar3 ) As String
     Set TCSObj = CreateObject("CSDN.TCS")
     Set TCSApp = TCSObj.LoginCurrent
     Connect_TCS_API = TCSApp.LoginUserName
End Function

в ячейке надо писать:

Сall Connect_TCS_API

Обратите внимание, что корректной функцию можно считать только при однократном ее вызове!!!

Re: Как вставить в отчет имя текущего пользователя

спасибо, получилось ...
а можно узнать ?

Public Function Connect_TCS_API( UnusedPar1, UnusedPar2, UnusedPar3 ) As String
     Set TCSObj = CreateObject("CSDN.TCS")
     Set TCSApp = TCSObj.LoginCurrent
     Connect_TCS_API = TCSApp.LoginUserName
End Function
- почему имя переменной Connect_TCS_API должно совпадать с именем функции Connect_TCS_API... иначе ошибки нет, но и значение в форму не вставляется ?
- что это за  параметры в скобках UnusedPar1, UnusedPar2, UnusedPar3 и отгкуда они берутся ?
- где об этом можно почитать ?
спасибо за помощь

Re: Как вставить в отчет имя текущего пользователя

Марина писал(а):
- почему имя переменной Connect_TCS_API должно совпадать с именем функции Connect_TCS_API... иначе ошибки нет, но и значение в форму не вставляется ?

Потому, что язык Basic, и VBScript в том числе, требует присвоение результата функции к ее имени для возвращения результата функцией. Подробнее см. тут: http://msdn.microsoft.com/en-us/library … S.85).aspx




Марина писал(а):
- что это за  параметры в скобках UnusedPar1, UnusedPar2, UnusedPar3 и отгкуда они берутся ?

См. раздел справки: 14.10.10 Функции
...из него следует, что вызов функции производится с тремя параметрами (хотите Вы этого или нет!).
Поэтому я и написал три НеиспользуемыхПараметра, т.е. объявлять их необходимо, но использовать не обязательно.

please-change-link