powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глюк с VB в Accesse!
32 сообщений из 32, показаны все 2 страниц
Глюк с VB в Accesse!
    #32313682
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня officeXP.
В коде :
Dim word AS Object
Set word = CreateObject("Word.application")

доходит до второй строчки и пропадает строка степа. При этом никакой ошибки не выдается просто тихо заканчивает выполнение программы.

Проверяла этто в VB6 - все работает, а в Accesse не работает, хоть тресни. Правда мне тут подсказали, что это будет работать в 97 или в 2000 офисе. А как бы это заставить работать в хрюшном оффисе?
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313709
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не правильно подсказали. В 2002 тоже работает.
У тебя просто проблемы в офисе (если, конечно , ты нам сказать ничего не забыл типа On Error resume next в начале программы- тогда проблемы - в тебе
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313758
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Senin Viktor

ты нам сказать ничего не забыл
неее:) я ничего не забылА

у меня вообще нету On error . Я еще не сделала обработчик ошибок, так как дальше второй строчки не могу итти.

Так ты предлагаешь office переустановить?
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313822
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Так ты предлагаешь office переустановить?

проблемы могут быть не только в офисе -но и в виндоусе, в правах доступа.
Сам ворд открывается нормально?
Попробуй для начала залить сервис-паки - возможно они исправят что-нибудь.
Попробуй так же подключит Word через ссылки (Microsoft Word 10.0 Object Libliry) и сделай
Dim w As Word.Application
Set w = New Word.Application
w.Visible = True

так же попробуй вставить в свой текст проги
word.Visible = True - что-нибудь покажется?
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313845
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня Microsoft Word 10.0 Object Library итак была подключена))) этто я сразу проверила...
а вот посему то CreateObject не работает, а так как ты предложил работает
Dim w As Word.Application
Set w = New Word.Application !

так что пасиба за помощь) тока глюк все равно не поняла! ну лана покатит и
New Word.Application
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313862
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kassa ... Классный ник!
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313872
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Pavel

ты первый кто оценил мой ник)))
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313889
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И фотка классная. Твоя?
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313899
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет! Джулии Робертс в детстве!)))

канечно моя
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313904
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто!
Давай по аське переписываться! Только я свою не помню... Завтра на работе посмотрю.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313911
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kassa
Потому что писать нужно так.
Dim wd As New Word.Application (А НЕ OBJECT)
Set wd = CreateObject("Word.Application")

2 Pavel
Успехов:)
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313914
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри. Погорячился - с Object тоже работает, просто никогда так не писал:)
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313915
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Hummer
так я же не с бухты-барахты написала Dim word AS Object и т.д. я этто с helpа содрала, там никакие ограничения не написаны!

2 Pavel
Мою аську могешь в инфе посмотреть...
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313920
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hummer
Dim wd As New Word.Application
После этого никаких Create не надо
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313930
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
>Dim wd As New Word.Application
>>После этого никаких Create не надо

Не учи девушку плохому стилю :)

==
А вот почему CreateObject... не работает - не понятно. Все-таки надо до конца разобраться, а то еще что-нибудь загадочное выскочит.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313934
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Лох Позорный

а как насчет сроки инициализации ? все равно нужно SET Wd = New Word.Application
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313937
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню про "хороший" стиль:
Код: plaintext
1.
2.
Dim w As Word.Application 
Set w = New Word.Application 
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313980
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой момент.
Написал я нет так:
Dim xl As New Excel.Application
Set xl = CreateObject("Excel.Application")
А вот так:
Dim wd As New Word.Application
SET Wd = New Word.Application (ЛП)

New излишне. Меня интересует другое - что кардинально переменится при различном написании. Кроме стиля написания.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32313994
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Hummer
>Меня интересует другое - что кардинально переменится при различном написании. Кроме стиля написания.

Если верить Гетцу :), то компилятору (или как там его) прийдется перед каждой! строкой вставлять проверку "а был ли проиницинизилорован объект". Вот на это время проверок уходит время (мало, вообще-то), но общая рекомендация: объявить и уже в нужном месте проинициализировать (=New...)
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32314002
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идею понял. Спасибо за разъяснение.
Но если строки идут друг за другом разницы нет?:)
Между
Dim xl As New Excel.Application
Set xl = CreateObject("Excel.Application")
И
Dim w As Word.Application
Set w = New Word.Application
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32314137
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Hummer
>Dim xl As New Excel.Application
>Set xl = CreateObject("Excel.Application")

Опять ты что-то напутал :)

Наверное ты имел ввиду
Dim xl as Excel.App...
set xl=new Excel.App...

Надо найти оригинал из Гетца, но думаю компилятор (или как его там) все-таки везде строки всатвляет - не будет же он разбираться есть, например, операторы типа Goto, вызовы процедур, наличие обработчика ошибок (из-за него выполнение программы может вообще перескочить в непредсказкемое место).

Во всяком случае у меня уже на автомате "двойная" запись инициализации объекта.
Если потестисть (кто сделает?) - то производительность не намного ухудшиться (если вообще это будет заметно). Скорей всего очень будет заметно на больших объемах. Но проверять как-то впадлу.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32314339
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Может не совсем понятно вопрос ставлю. Я спросил, в чём разница между записью:
Dim xl As Excel.Application (тут было ещё New - смотри в примечании).
Set xl = CreateObject("Excel.Application")
И
Dim w As Word.Application
Set w = New Word.Application

Конкретно интересует разница во вторых строчках.
Чтобы было понятно - это идёт в самом начале процедуры, потом создаются объекты типа книга и лист (в екселе), а уж потом идёт к ним обращение.

Получил ответ:
Если верить Гетцу :), то компилятору (или как там его) прийдется перед каждой! строкой вставлять проверку "а был ли проиницинизилорован объект". Вот на это время проверок уходит время (мало, вообще-то), но общая рекомендация: объявить и уже в нужном месте проинициализировать (=New...)

Из этого следует, что если к объекту идёт обращение - то придётся делать проверку. Но обращения быть не может, т.к. объекта ещё нет:) Т.е. нет инициализации.
Или опять всё не так понял?:)

Убрал New при декларировании Excel. C New мне ситуация понятно, при екселе он лишен.
Вопрос в следующем - между Create в первом случае и New во втором разница есть? По-моему нет.

P.S. Я понял, излишне писать New при обяъвлении переменной xl, но на производительности это не сказывается. В этом и состояло замечание ЛП.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32314353
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hummer писал:P.S. Я понял, излишне писать New при обяъвлении переменной xl, но на производительности это не сказывается. В этом и состояло замечание ЛП.
Ты неправильно понял что объявление As New не сказывается на производительности. Именно сказывается. Один раз объявляешь переменную As New, и потом у тебя при каждом обращении к объекту проверяется - Nothing он или нет (если Nothing - создается новый)

А вот при разнов создании объектов (Set xl = CreateObject("Excel.Application") и Set w = New Word.Application ) есть разница во времени создания (не проверял правда), но на дальнейшей работе сказываться не должно.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32314413
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный
Спасибо за науку.
Т.е. такое объявление переменных (as New) не есть гуд. Это применяется к любым объектам, как я понимаю? Т.е. при работе с классами возникает такая же ситуация?
Лучше писать не
Dim cm New As MySuperClass,
а
Dim cm As MySuperClass
Set cm = New MySuperClass

Если я обяъвил его как New и начинаю использовать сразу же, то разницы никакой нет. При работе с классами я пишу именно так...

Вот прочитал.
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315020
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу неработоспособности первоначального примера:
Word - это имя библиотеки.
Думаю, поэтому и не работал.

Код: plaintext
Dim word As word.Application


Обратите внимание, что второе слово тоже оказалось с маленькой буквы
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315046
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 AlexJuice
По поводу неработоспособности первоначального примера:

Вообще то первоначально не работало:
Dim word AS Object
Set word = CreateObject("Word.application")
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315057
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А библиотека Word была подключена?
Согласен, пример мой не подходит.
Но объяснение, думаю, подойдет? ;)
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315180
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 AlexJuice

А библиотека Word была подключена?

Канечно была ! см. посты выше
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315184
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Оффтопик>
О! Kassa! А мы, Вас, мамзель уже на сеновале ждем-с...
</Оффтопик>
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32315457
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Темный, а ты не подумал, что будет, если дама на портрете настоящая и она действительно придет на сеновал? Только она-то придет у себя в Волжском, а где ты?
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32316160
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС: Что будет, что будет... Об Аксесе разговаривать на сеновале будем . А расстояние - не помеха. Вычислим среднюю точку и там поставим сеновал "(Москва + Волжск)/2".
...
Рейтинг: 0 / 0
Глюк с VB в Accesse!
    #32316791
Kassa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О! Kassa! А мы, Вас, мамзель уже на сеновале ждем-с...

Так я ж приду не одна... а с кузнецом! А ведь вам кузнец не нужен...!
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глюк с VB в Accesse!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]