App.EXEName в VBA

Программирование на Visual Basic for Applications
Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

App.EXEName в VBA

Сообщение Rojohn » 07.09.2010 (Вт) 19:23

Добрый день!
Кто-нибудь знает, какой аналог App.EXEName в VBA?
Нужно для API...

Спасибо!
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: App.EXEName в VBA

Сообщение alibek » 07.09.2010 (Вт) 21:29

А что, по твоему, этот аналог должен возвратить?
Lasciate ogni speranza, voi ch'entrate.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 07.09.2010 (Вт) 22:06

Наверное имя экзешника, который EXCEL :?:
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: App.EXEName в VBA

Сообщение alibek » 07.09.2010 (Вт) 23:01

Ну тогда все просто.
Добавляй в модуль такую функцию:
Код: Выделить всё
Function AppExeName() As String
  AppExeName = "excel.exe"
End Function
Lasciate ogni speranza, voi ch'entrate.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 07.09.2010 (Вт) 23:49

Я бы добавил, но думаю тут не так просто. Дело в том, что я плохо владею API и хочу переделать кирпич по отправке письма по SMTP на VBA.
А там (в функции InitWinsockService) есть строки:
Код: Выделить всё
m_lngResolveMessage = RegisterWindowMessage(App.EXEName & ".ResolveMessage")   
p_lngWinsockMessage = RegisterWindowMessage(App.EXEName & ".WinsockMessage")


Думаю замена на Application.DefaultFilePath (единственное, что удалось найти по отношению к расположению EXE) совсем не подойдёт...
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: App.EXEName в VBA

Сообщение iGrok » 08.09.2010 (Ср) 0:14

О господи... =)))
Ты бы хоть в мсдн залез, посмотрел, что ты вообще такое делаешь..
Это должна быть ЛЮБАЯ УНИКАЛЬНАЯ ДЛЯ СИСТЕМЫ СТРОКА...
label:
cli
jmp label

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 08.09.2010 (Ср) 0:42

Дык никто и не говорил, то я гуру в API. Я даже не знаю как это правильно посмотреть в MSDN:)

И вообще, что-то в этом кирпиче не то - не работает.
Во-первых очепятка в слове "HELO", во-вторых - зачем указывать пароль для SMTP? А в третьих что-то ещё не пашет - нет контакта...

В итоге я могу написать как написал внизу первого поста?)) Или Application.AltStartupPath или...?
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: App.EXEName в VBA

Сообщение iGrok » 08.09.2010 (Ср) 1:46

Rojohn писал(а):Я даже не знаю как это правильно посмотреть в MSDN:)

http://lmgtfy.com/?q=RegisterWindowMessage

А вот насчёт остального - не знаю. С этим кирпичём не работал.

А как ты написал внизу первого поста? Там вроде вообще никакого кода нету.

В общем, вместо App.EXEName придумай тому, что ты пишешь какое-то относительно уникальное название. Типа "RojohnSMTP". Этого будет достаточно.
label:
cli
jmp label

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 08.09.2010 (Ср) 2:53

Это было в предпоследнем посте...

В общем, вроде класс есть, а вроде и нет. А вроде бы простая задача: отправить почтовое сообщение из Excel VBA по SMTP на стандартное мыло без вложений.......
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: App.EXEName в VBA

Сообщение alibek » 08.09.2010 (Ср) 8:39

Rojohn писал(а):Во-первых очепятка в слове "HELO", во-вторых - зачем указывать пароль для SMTP? А в третьих что-то ещё не пашет - нет контакта...

Во-первых, не опечатка.
Во-вторых, нужно.
А в-третьих, читай документацию по почтовым протоколам.

http://en.wikipedia.org/wiki/Simple_Mai ... r_Protocol и далее
Lasciate ogni speranza, voi ch'entrate.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 08.09.2010 (Ср) 8:50

Как интересно! Почему-то в обычной спецификации написано "HELO" - значит тут необычный SMTP...
А что, в документации есть что-то то, чего не учли разработчики кирпича и что мне надо добавить?
Или как иначе его юзать для отправки?
В VBA у меня вообще не доходит до места выбора команд - вылетает раньше где-то... :@:
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: App.EXEName в VBA

Сообщение FireFenix » 08.09.2010 (Ср) 9:40

над SMTP ещё так ни кто не издевался :D

Rojohn писал(а):А что, в документации есть что-то то, чего не учли разработчики кирпича и что мне надо добавить?

Если это нормальный рабочий кирпич, то там только нужно внимательно прочитать документацию и подставить свои значения в нужных строчках конфигурации
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 08.09.2010 (Ср) 9:56

Вроде как всё подставил правильно - не шлёт! Уже менял много раз по-разному - без разницы.

А описание (более старое правда) я читал - там про перестановки букв ни слова....
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: App.EXEName в VBA

Сообщение iGrok » 08.09.2010 (Ср) 14:31

Гм.. А что за кирпич-то?
Неужто этот: viewtopic.php?f=28&t=15649 ?
Нету там ошибок и опечаток.
label:
cli
jmp label

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 08.09.2010 (Ср) 16:08

Он самый... но чёт не шлёт ничего! И так и сяк его пытал. Только аттачи убрал и адреса свои на yandex.ru и на gmail.ru вставил...
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Re: App.EXEName в VBA

Сообщение Rojohn » 09.09.2010 (Чт) 23:16

Короче разобрался: глючная dll в Win XP. Скачал такую же с Vista, заменил и всё заработало в примере с CDO. А в этом классе он тоже используется...
Делитесь опытом и Вам воздастся! Кто разместит полезный код - тому воздастся вдвойне! :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList