Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 12:21   #1
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию Работа с книгой в скрытом режиме

Добрый день!

Подскажите, пожалуйста, каким образом корректно открыть другую книгу из VBA в скрытом режиме, чтобы можно было манипулировать данными в ней?

Мне необходимо открыть файл по заданному пути в скрытом режиме, скопировать из него данные и вставить их в соответствующий лист моей книги. После этого внешний файл необходимо закрыть.

Буду очень признателен за помощь!
voam вне форума Ответить с цитированием
Старый 17.12.2009, 13:45   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Добрый день, можно через Данные - Импорт - Импортировать внешние данные, файл открывать не нужно
EugeneS вне форума Ответить с цитированием
Старый 17.12.2009, 14:11   #3
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

EugeneS, спасибо за совет!

Однако если я организую доступ к внешней книге подобным образом, то во время работы с ней (т.е. по сути пока открыта моя книга) работать с внешним файлом нельзя: нельзя его отредактировать, пересохранить и т.д.

А мне как раз потребуются подобные манипуляции с книгой ...
voam вне форума Ответить с цитированием
Старый 17.12.2009, 19:14   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Может такой вариант,только не забыть ликвидировать процесс
Код:
Dim EX As Application

Dim wb As Workbook
Dim wh As Worksheet
Private Sub CommandButton1_Click()

Set EX = New Application
EX.Visible = False
Set wb = EX.Workbooks.Open("c:\777.xls")
Set wh = wb.Worksheets(1)

'И делаем ,что хочем

End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 17.12.2009 в 19:30.
doober вне форума Ответить с цитированием
Старый 17.12.2009, 21:09   #5
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

doober, огромное спасибо!!

Сработало идеально!
voam вне форума Ответить с цитированием
Старый 17.12.2009, 21:51   #6
пасечник
Заблокирован
 
Регистрация: 24.06.2009
Сообщений: 28
По умолчанию

Код:
Sub делаем_что_хочем()
With GetObject("C:\1.xls").Sheets(1)
'И делаем ,что хочем
End With
End Sub

Последний раз редактировалось пасечник; 17.12.2009 в 21:53.
пасечник вне форума Ответить с цитированием
Старый 17.12.2009, 23:06   #7
пасечник
Заблокирован
 
Регистрация: 24.06.2009
Сообщений: 28
По умолчанию

Чуть не забыл: перед End With книгу-то эту лучше закрыть:
Код:
.Parent.Close SaveChanges:=True ' или False, а то и вовсе:
'If .Parent.Saved Then .Parent.Close Else Windows("1.xls").Visible = True
пасечник вне форума Ответить с цитированием
Старый 18.12.2009, 06:03   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А к чему все это? Вам не будет достаточно того, чтобы перед открытием книги, выполнением всех действий и закрытием, просто запретить обновление экрана с помощью Application.ScreenUpdating = False ?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.12.2009, 13:49   #9
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
А к чему все это? Вам не будет достаточно того, чтобы перед открытием книги, выполнением всех действий и закрытием, просто запретить обновление экрана с помощью Application.ScreenUpdating = False ?
Мне необходимо, чтобы пользователь не подозревал о том, что открываются дополнительные окна. Если использовать ScreenUpdating, то в панели задач все равно отобразится ярлык открытой книги.
voam вне форума Ответить с цитированием
Старый 14.10.2022, 15:32   #10
ЕвгенийХижин
Новичок
Джуниор
 
Регистрация: 17.04.2018
Сообщений: 3
По умолчанию Всем ответившим.

Все варианты толковые! Большое спасибо
ЕвгенийХижин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа в графическом режиме adgam Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 23.04.2010 17:56
Работа в защищенном режиме(TASM) adgam Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 11.11.2009 22:48
Нужно через exe'шник вызвать команду командной строке, в скрытом режиме killerloop Помощь студентам 11 09.07.2009 14:58
Работа с файлами. Вывод в Граф режиме. Паскаль. HITMAN 09 Помощь студентам 8 23.04.2009 20:36
Работа макроса в фоновом режиме Maxx Microsoft Office Excel 2 14.01.2009 17:09