|
ошибка 4605
|
|||
---|---|---|---|
#18+
здравствуйте, отчего происходит ошибка 4605 Метод или свойство SaveAs недоступны, потому что диалоговое окно "Найти" или "Заменить" открыто происходит на строке Код: vbnet 1.
в свете того, что Окно Найти и Заменить не модальное Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2012, 21:00 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофаотчегопо моему причина изложена достаточно ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2012, 21:40 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
Shocker.Pro, соль то здесь >в свете того, что Окно Найти и Заменить не модальное если следующей строкой будет MsgBox Err.Number что мессага покажет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2012, 21:43 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Если ты кликнешь на сам документ (в режиме F8) непосредственно до исполнения строки SaveAs (чтобы убрать курсор из окна Find and Replace), то должно пройти без ошибки. Постарайся это телодвижение записать в коде и тогда в принципе ты ошибку должен обойти. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2012, 22:06 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
VladConn, разобрался смысл такой, то что я делаю по нажатию Эф8 не повторится никогда потому, что запуская код фокус с этого окна Найти и заменить уйдёт 2 сейчас хотел создать тему, мне отлуп-"Тема содержит недопустимые символы", главное не название, а вся тема, и как их вычленить эти символы? Вот тогда ложу здесь здравствуйте, скажу сразу, что очень много много раз надо запустить код чтобы получить ошибку Run-time error 70 Permission denied Вот сам код на ВБ6, запускаю этот код в открытом документе Ворда, смысл этого кода переименовать открытый документ Ворда: Код: vbnet 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.
Но как от этой ошибки избавиться раз и на всегда?? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 05:00 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Не совсем понял, какой смысл уйдет. Попробуй ThisDocument.Activate (пишу по памяти) перед SaveAs. Может поможет. F8 тебе было для иллюстрации твоей проблемы. SaveAs видимо работает с активным окном документа. Вот когда ты это делаешь руками при висящем окне Find and Replace, то непроизвольно делаешь окно самого документа активным, при этом убирая курсор из окна Find and Replace. Ну так и воспроизведи нечто похожее в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 15:44 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Эти строки не нужны: Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 15:46 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Заведи правило во все процедуры вставлять стандартную поддержку ошибок. Вот тебе простейший пример: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 15:55 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа... Вот сам код на ВБ6, запускаю этот код в открытом документе Ворда, смысл этого кода переименовать открытый документ Ворда : ... Активный документ Ворда (по-крайней мере в експлорере) переименовать нельзя. Забудь об этом чудачестве. Можно создать копию документа с новым именем. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:22 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, катастрофа..Вот тогда ложу здесь. И никогда не говори и не пиши "ложу". Это оправдывается только отсутствием начального образования. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:29 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
VladConnкатастрофа, Заведи правило во все процедуры вставлять стандартную поддержку ошибок. Вот тебе простейший пример: [/src] мне не надо знать её номер и как называется, мне надо чтобы её не было ошибка видимо на этой строке Код: vbnet 1.
а для этого как я понимаю есть не отвеченная тема программно закрыть дескриптор открытого файла Ворд делать задержки ОК, но нужна жесть сколько точно ждать - отмашка когда можно Киллить файл VladConnкатастрофа, Эти строки не нужны: Код: vbnet 1. 2.
это почему? VladConnАктивный документ Ворда (по-крайней мере в експлорере) переименовать нельзя. Честно сказать не совсем понимаю термин в експлоере, в чём он ещё бывает? VladConnМожно создать копию документа с новым именем. Задача века, не можем обуздать 70 ошибку Permission denied Доступ запрещен не можем высчитать и в кусты? назовите это по другому если к словосочатиям придираетесь, но смысл не меняйте ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:42 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Код: vbnet 1.
И когда ты используешь Object вместо строгого декларирования, ты теряешь возможность использования IntelliSense. И вот эта строка работать, вообще говоря, не будет (6/9/2012): Код: vbnet 1.
Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:51 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
[quot катастрофа] VladConnкатастрофа, Эти строки не нужны: Код: vbnet 1. 2.
катастрофаэто почему? А ты попробуй описать ситуацию, когда это нужно в твоем коде. Как это можeт быть, что они станут не Nothing? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:57 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
VladConn, >6/9/2012 не надо бояться, если у Вас так дата Now, ":", "" меняем на Now, "/", "" вопрос то не в том был >И когда ты используешь Object вместо строгого декларирования, ты теряешь возможность использования IntelliSense. не похоже я кодером не стану никогда - а как строго декларировать? и что такое IntelliSense? >Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents как?? не ответили Эти строки не нужны: Set ObjectWord = Nothing Set ObjectOpenWord = Nothing это почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 16:58 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа..мне не надо знать её номер и как называется, мне надо чтобы её не было Не важно, что тебе надо или не надо, важно то, как надо оформлять процедуры, чтобы они не были любительскими. :0) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:00 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофаVladConn, >6/9/2012 не надо бояться, если у Вас так дата Now, ":", "" меняем на Now, "/", "" вопрос то не в том был >И когда ты используешь Object вместо строгого декларирования, ты теряешь возможность использования IntelliSense. не похоже я кодером не стану никогда - а как строго декларировать? и что такое IntelliSense? >Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents как?? не ответили Эти строки не нужны: Set ObjectWord = Nothing Set ObjectOpenWord = Nothing это почему? Да, бояться не надо, надо сразу писать надежный код, смысл был в этом. Потому что они и так будут Nothing. VB6 это сделает для тебя. Почитай про области декларирования и время жизни объектных переменных. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:03 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
а остальное? катастрофа>И когда ты используешь Object вместо строгого декларирования, ты теряешь возможность использования IntelliSense. не похоже я кодером не стану никогда - а как строго декларировать? и что такое IntelliSense? >Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents как?? не ответили Эти строки не нужны: Set ObjectWord = Nothing Set ObjectOpenWord = Nothing это почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:04 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
ну и одно осталось >Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents как?? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:05 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофачто такое IntelliSense? >Permission denied у тебя скорее всего из-за того, что код слишком быстро повторялся, и система не успевала, в принципе можно поставить DoEvents как?? Попробуй поставить DoEvents перед Kill. IntelliSense ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:09 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа...не похоже я кодером не стану никогда ... Станешь. :0) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:22 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
VladConn, ОК - пока ошибки нет, но как я говорил раньше надо потрудится чтобы она была если что напишу, я правильно понял, что 'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для создания этого объекта в конце процедуры нафиг не нужно? а когда нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:30 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Ну например, если бы эти объекты были задекларированы на уровне модуля, а не внутри процедуры и если бы они были уже тебе не нужны, то тогда имело бы смысл. В твоем примере они умрут и так, причем обязательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:36 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
катастрофа, Влад и прав и нет. В общем-то при выходе из процедуры в данном конкретном случае переменные очистятся. Но обнулять объекты принудительно - правило хорошего тона. Это повышает читабельность и наглядность программы для других, да и для себя тоже. Когда у тебя сложная большая программа сбольшим уровнем вложенности процедур, много переменных, объявленных на разных уровнях и т.п., так проще понимать код. Кроме того, в других языках сборщики мусора ведут себя иначе и лучше дать им прямое указание. В общем, отступы в коде ведь тоже необязательны внутри циклов и IF-ов. Но никто не говорит "убери их, они не нужны" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:49 |
|
ошибка 4605
|
|||
---|---|---|---|
#18+
Shocker.Pro, короче кто как хочет так и делает и спору тут может быть много, Option Explicit надо усовершенствовать, чтобы за всем следил я могу и сам проверить, но когда в процедуре сказано сначала On Error GoTo MethodExhit а позже из процедуры код уходит в функцию, это правило распостранится?, думаю что да ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2012, 17:59 |
|
|
start [/forum/topic.php?fid=60&msg=37831916&tid=2157702]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 150ms |
0 / 0 |