Здравствуйте Zzz, Вы писали:
Zzz>Я столкнулся с такой проблемой: Zzz>Есть ini-файл (c:\update.ini) я хочу из него получить значение
Zzz>Dim NewsPath as String
Zzz>NewsPath=System.PrivateProfileString("c:\update.ini", "PATH", "NewsPath")
Zzz>Порой все нормально, а чаще получаю "Run-time error 429 Cant create an ActiveX object" почему?
System — это у тебя что? ActiveX? Ну вот он не создаётся на некоторых машинах из за отсутствия себя..
Здравствуйте великийИужасный, Вы писали:
И> System — это у тебя что? ActiveX? Ну вот он не создаётся на некоторых машинах из за отсутствия себя.. :)
Я думаю, что АктивХ присутствует, т.к. после перезагрузки код порой отрабатывает (не гарантированно, что с первой перезагрузки все будет нормально, но таки срабатывает иногда)
Здравствуйте Vi2, Вы писали: Vi2>Иначе непонятно в каком контексте задается вопрос!
Я хочу чтоб для макросов — примочек встроенного в Outlook VBA, которые я написал, сохранялись некоторые настройки, которые в процессе работы могут меняться.. Делаю это при помощи PrivateProfileString, пробовал использовать для сохранения в ини-файл и в реестр, и то и другое достаточно часто выдаёт ошибку "Run-time error 429 'Cant create an ActiveX object '", возникает это ошибка при тех же самых ВСЕХ условиях, при которых и не возникает — то работает, то не работает.
Т.е. если Outlook выдает сообщение об ошибке, в этом сеансе работы код уже не сработает стопудово, а вот перезагрузка помогает, не всегда но две-три перезагрузки хватает ;).. Так-то.. И еще, если Вы знаете, может подскажете: В папку Documents and settings\ Application data\microsoft\Outlook копирую файл VbaProject.otm, хочу чтобы макросы срабатывали автоматически, но этого не произойдет, пока не запустишь вручную в первый раз макрос, автоматом грузиться не будет, вот бы иузнать, как сделать чтобы все автоматически работало, без этого первого запуска вручную, чтоб не доставлять геморрою конечному пользователю?
Здравствуйте Zzz, Вы писали:
Zzz>Я хочу чтоб для макросов — примочек встроенного в Outlook VBA, которые я написал, сохранялись некоторые настройки, которые в процессе работы могут меняться.. Делаю это при помощи PrivateProfileString, пробовал использовать для сохранения в ини-файл и в реестр, и то и другое достаточно часто выдаёт ошибку "Run-time error 429 'Cant create an ActiveX object '", возникает это ошибка при тех же самых ВСЕХ условиях, при которых и не возникает — то работает, то не работает.
Я не нашел ни в VB6, ни в Outlook 8.0 Object Library никакого упоминания ни о System, ни о PrivateProfileString. Есть API функция PrivateProfileString, но у нее больше параметров.
Zzz>И еще, если Вы знаете, может подскажете: В папку Documents and settings\ Application data\microsoft\Outlook копирую файл VbaProject.otm, хочу чтобы макросы срабатывали автоматически, но этого не произойдет, пока не запустишь вручную в первый раз макрос, автоматом грузиться не будет, вот бы иузнать, как сделать чтобы все автоматически работало, без этого первого запуска вручную, чтоб не доставлять геморрою конечному пользователю?
А вот это нужно новым вопросом задавать (конечно же, со ссылкой на тот Софт, который используется), чтобы все могли видеть и твой вопрос и ответы в соответствующем теме вопроса топике.
Для этого топика твой вопрос — оффтопик.
. Vi2>Я не нашел ни в VB6, ни в Outlook 8.0 Object Library никакого упоминания ни о System, ни о PrivateProfileString. Есть API функция PrivateProfileString, но у нее больше параметров.
Здравствуйте Zzz, Вы писали:
Zzz>Это из библиотеки MSWORD 8.0/9.0 Object library
А каким образом ты Ворд сюда приплетаешь, если работаешь в Outlook-e? У меня Outlook Express, поэтому не могу проверить. Outlook его сам создает как объект, что ли?
У меня как-то были похожие заморочки при создании объектов Ворда, писал какую-то временную проверку на VB6. Полезла ошибка, смотрю, а копий Ворда уже 6-7 штук, все невидимы, на ТаскБаре — нет, а в системе есть. Когда все снял, пошло нормально. Может и у тебя так же?
Здравствуйте Vi2, Вы писали:
Vi2>А каким образом ты Ворд сюда приплетаешь, если работаешь в Outlook-e? У меня Outlook Express, поэтому не могу проверить. Outlook его сам создает как объект, что ли?
Во встроенном ВБА-редакторе Outlook'a в пункте меню Tools есть такая фигня — References, там как раз и указываются ссылки на библиотеки... И Outlook не экспресс, а офисовский
Здравствуйте Zzz, Вы писали:
Zzz>Здравствуйте Vi2, Вы писали:
Vi2>>А каким образом ты Ворд сюда приплетаешь, если работаешь в Outlook-e? У меня Outlook Express, поэтому не могу проверить. Outlook его сам создает как объект, что ли? Zzz>Во встроенном ВБА-редакторе Outlook'a в пункте меню Tools есть такая фигня — References, там как раз и указываются ссылки на библиотеки... И Outlook не экспресс, а офисовский
Вот теперь понятно.
Фигня — References — дает тебе доступ к Type Library тех объектов, которые ты должен создавать, но она АВТОМАТИЧЕСКИ не создает сами объекты. Это-то ты должен делать сам.
Потому и получается, что если объект Ворд ко времени твоего оператора существует — все будет ок. Иначе — будет ошибка.
Проверь вот такой вариант:
... = Application.System ...
Или такой:
If System Is Nothing Then' загрузить объект Ворд
Endif
... = System ...