powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA(?) : Импорт данных excel to excel
4 сообщений из 4, страница 1 из 1
VBA(?) : Импорт данных excel to excel
    #36116720
Anton_vba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть разные способы импортировать данные из .xls в ексель.
Какой подойдет лучше всего в данном случае:

Есть excel файл (temp.xls), в который время от времени выгружаются данные из базы данных (это менять нельзя)
где-то не более 300 строк (хотя желатьельно чтобы работало и при нескольких тысячах - иногда бывает и такое)

Есть другой файл (file.xls), в который нужно импортировать все данные из temp.xls(sheet1) на sheet2.
sheet2 файла.xls отформатирована должным образом и формат менять нельзя.

То есть, надо автоматизировать действия:
1. Открыть temp.xls в Read-only
2. Select sheet1
3. Select All
4. Copy
5. Открыть file.xls
6. Select sheet2
7. Select All
8. Paste
9. Закрыть temp.xls
(10). Сообщение про то, удалить ли из памяти большое количество данных - да, удалить (No, don't keep вроде бы. Но это не важно)

И главное: temp.xls во время импорта должен быть невидимый.
Нажатие на кнопку из file.xls

Теоретически, Data - Import External Data - почти то, но:
1) Как сделать ReadOnly?
2) Временами теряется соединение и всякие глюки происходят
3) Хотелось бы средствами VBA

Какие есть идеи?
Хотелось бы легкий, быстрый и красивый способ.

Заранее благодарю!
...
Рейтинг: 0 / 0
VBA(?) : Импорт данных excel to excel
    #36116756
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
VBA(?) : Импорт данных excel to excel
    #36138207
Anton_vba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KL (XL) , Спасибо!

У меня еще один вопрос возник. Может быть, кто-нибудь сталкивался.
Программа (не excel), а другая.. генерирует XLSX файл (для 2007 excel).
Но в системе стоит 2003 офис.
Установлен Microsoft Office Compatibility Pack.
Зайлы XLSX запускаются после того как их на лету переконвертирует этот Pack. Сохранять их он тоже умеет.

А теперь вопрос: как открыть в 2003 excel файл xlsx при помощи VBA?

Использую такое код для импорта (кусок для создания соединения):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If Val(Application.Version) <  12  Then
   szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
   "Data Source=" & SourceFile & ";" & _
   "Extended Properties=""Excel 8.0;HDR=No"";"
Else
   szConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
   "Data Source=" & SourceFile & ";" & _
   "Extended Properties=""Excel 12.0;HDR=No"";"
End If

Но он либо для импорта xls в версии до 2003 (включительно) либо для импорта xlsx в 2007.
Мне же надо xlsx в 2003.

Попутно было бы неплохо и наоборот: xls в 2007 и выше

Нужно в Excel 2003 засунуть Microsoft.ACE.OLEDB.12.0?
...
Рейтинг: 0 / 0
VBA(?) : Импорт данных excel to excel
    #36138240
Anton_vba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, все работает. Была ошибка в коде.
2003-й excel воспринимает
Код: plaintext
1.
2.
3.
   szConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
   "Data Source=" & SourceFile & ";" & _
   "Extended Properties=""Excel 12.0;HDR=No"";"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA(?) : Импорт данных excel to excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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