Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.08.2016, 11:13
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
Добрый день. У меня есть код для сохранения и закрытия exsel файла. Код: pascal 1. 2. 3. 4. 5. 6. 7.
Но в нем есть особенность, он закрывает все файлы exsel. Может кто подскажет как прописать закрытие определенного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 11:27
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
Так, надеюсь, будет понятнее, как работать со сруктурой объектов: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 11:28
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 11:37
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
спасибо большое все вроде бы работает. а то неделю искал ответ по инету. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 11:50
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
И чтобы не было проблем - обязательно очищай объект, указывающий на ActiveWorkbook. До закрытия книги... А ещё лучше - вообще не используй его явно, лучше через Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 11:57
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 12:19
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
AkinaИ чтобы не было проблем - обязательно очищай объект, указывающий на ActiveWorkbook. До закрытия книги... А ещё лучше - вообще не используй его явно , лучше через Код: vbnet 1. 2. 3.
Akina, про очистку понятно. А про явность - почему? И чем, для достижения неявности, структура With предпочтительнее? Я понимаю, что ты тут от чего-то бережешься... От чего? Я именно так и делаю - как ты говоришь, но просто, по выработавшемуся стилю кодирования... И без понимания подводного камня, на который ты намекаешь. Ну, к примеру, а если будет одна лишь строка - ее все равно загонять ее в With? А если делать по аналогии, как в случае с CurrentDB, к примеру? MrShin, кстати, так и поступил: Код: plaintext
Расскажи, вобщем, поподробнее, плз. . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 12:34
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
Lieutenant Pigeonпро явность - почему? Ну вот представь... забахал ты в переменную ссылку на активный воркбук. Пробуешь его закрыть... и вот тут в зависимости от обстоятельств может переменная очиститься (=Nothing), а может и не закрыться... а если закроется, а ты вдруг где попробуешь её использовать как инициализированную? Lieutenant Pigeonа если будет одна лишь строка - ее все равно загонять ее в With? Я тебе говорю об опасности заведения объектной переменной со ссылкой на текущую книгу. Кстати, если юзер посередь процесса своими шаловливыми ручками кликнет на другую книгу - как полагаешь, чем дело кончится? Lieutenant PigeonА если делать по аналогии, как в случае с CurrentDB, к примеру? А нельзя по аналогии! Активной БД, в отличие от активной книги, как бы не бывает... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 12:49
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
Ага. Спасибо. Только, With все равно ведь не спасает, поскольку:Akinaговорю об опасности заведения объектной переменной со ссылкой на текущую книгуБудем настороже :) Только у меня и так при работе с объектами весь код проверками-перепроверками на Nothing утыкан :) . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 13:01
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
With и явное объявление отличаются только тем, что With создает временную переменную в стеке, которая освобождается автоматически сразу после End With, а задекларированная переменная лежит в куче, пока не будет либо явно удалена через =Nothing, либо удалена сборщиком мусора при выходе из процедуры. Последнее происходит не всегда, т.к. есть тонкости со счетчиками использования. Т.е. With использовать надежнее в плане памяти, в остальном - дело вкуса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 13:06
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
AkinaЯ тебе говорю об опасности заведения объектной переменной со ссылкой на текущую книгу Не совсем понял принципиальное отличе заведения объектной переменной от With - будет та же ссылка на текущий активный воркбук, даже если юзер и успел кликнуть на другой или закрыть текущий. А если поменяет после начала блока (или заведения переменной), то работать код будет все равно с тем воркбуком, который был активным на момент присвоения переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 13:15
|
|||
---|---|---|---|
|
|||
Сохранение excel файла через макрос access |
|||
#18+
MrShin, хорошо, что ты сам подтянулся - я хотел было пихнуть тебя, увидев в соседней ветке :) Сразу вопрос: MrShinWith и явное объявление ... М.б. обращение ? Не? А за дальнейшую раскладку - снкс. Познавательно и, главное, доступно. . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.08.2016, 13:30
|
|||
---|---|---|---|
Сохранение excel файла через макрос access |
|||
#18+
Lieutenant PigeonМ.б. обращение ? Не? Ну да, не объявление, конечно, а присвоение переменной указателя на объект, т.е. момент Set для объявленной переменной или запись в стек указателя для With. Для случая с With, думаю, можно использовать и термин "объявление", т.к. объявление и присвоение совпадают. Обращение - это уже работа с присвоенным указателем. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1613276]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 146ms |
0 / 0 |