Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Импорт данных из другого *.xls файла Добавлено: 21.07.09 11:17  

Автор вопроса:  Uriel
Прошу помочь со скриптом который импортировал бы данные из едиенственного одного и единственного sheet'a другого xls файла в sheet другой файл(в тот с которым ведется работа).

Заранее благодарен

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Swarok



Вопросов: 1
Ответов: 3
 Профиль | | #1 Добавлено: 14.08.09 00:19
Я пользуюсь вот этим, хотя это, наверняка, и не самый экономный способ.

Public sub A1
dim wkb as workbook
dim wks as worksheet
dim swkb as workbook
dim swks as worksheet
dim sfile as string

set wkb=thisworkbook
set wks=wkb.worksheets(1)

set swks=workbooks.open(sfile)

for each cl in swks.usedrange.cells
    wks.cells(cl.row,cl.column)=swks.cells(cl.row, cl.column)
next cl
end sub

Так копируются только данные. Если нужны форматы ячеек, то можно использовать ".Interior"

Ответить

Номер ответа: 2
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #2 Добавлено: 14.08.09 12:42
  1. dim ExcRng as excel.range
  2. .
  3. .
  4. .
  5. ExcRng.Copy
  6.  
  7. ExcRng.PasteSpecial(..........


Не проще? Не быстрее? Насколько мне известно создание объектов происходит не быстро. Чтобы скопировать весь лист может понадобиться создать объект для каждой ячейки. 256 Х 65536

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 15.08.09 10:58
Согласен с GDK, издишняя зацикленнось, копирование по одной ячейки, будут тормоза, да и стиль выглядит кривовато. Можно сделать Set ExcRng = wbk1.wsh1.UsedRange, а потом копирование и специальная вставка. Причем вставлять может понадобиться в 2 этапа: ширины столбцов и данные с форматированием. А если еще проще, так уж скопировать объект листа рабочей книги целиком, без диапазонов.

Ответить

Номер ответа: 4
Автор ответа:
 Swarok



Вопросов: 1
Ответов: 3
 Профиль | | #4 Добавлено: 28.08.09 01:22
Разумеется, ваш способ намного быстрее и удобнее. Я в процессе использую фильтр, поэтому такой "кривой" код. Если есть способы проще, то и я буду признателен

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам