|
|
|
Копирование ячеек из одного листа Excel в другой | ☑ | ||
|---|---|---|---|---|
|
0
Arm12
29.07.09
✎
12:37
|
Люди, дайте совет. Нужно в файле Excel скопировать ячейки из одного листа в другой. Я это делаю с помощью обработки в 8.1.
Короче, открываю файл через Com, пробегаю в цикле строки на первом листе, но скопировать их не знаю как на второй лист файла. Подскажите как это правильно сделать! В файле записей очень много, много ли уйдет времени на копирование? |
|||
|
1
Arm12
29.07.09
✎
12:41
|
Народ плизззззз !!!
|
|||
|
2
Arm12
29.07.09
✎
12:53
|
Ну хоть кто нибудь!!!
|
|||
|
3
Oleg_Kag
29.07.09
✎
12:53
|
OpenOffice тебе поможет
v8: Преобразование значения к типу Число не может быть выполнено |
|||
|
4
skunk
29.07.09
✎
13:00
|
//*******************************************
// CopyWorsheetExcel(vlParameter) // // Параметры: // vlParameter - Список значений. Должен содержать // следующие значения: // InBook - Строка. Полное имя файла источника. // OutBook - Строка. Полное имя файла цели. // Sheet - Строка. Имя листа. // // Возвращаемое значение: // Число. 0 - лист скопирован. Иначе код ошибки: // 1 - Не пердали ни одного файла. // 2 - Файл источник не существует. // 3 - Файл цель не существует. // 4 - Не передали имя листа. // 5 - Excel не установлен. // 6 - В файле источника отсутсвует лист с // переданным наименованием. // // Описание: // Функция копирует лист Excel из одной книги в другую. // Если передали только одно имя, то создается копия листа // в этой же книге. // function CopyWorsheetExcel(vlParameter); // Получим из списка имя файлов. InFile = vlParameter.Get("InBook"); OutFile = vlParameter.Get("OutBook"); // Проверим правильность полученных параметров. if (emptyvalue(InFile) = 1) and (emptyvalue(OutFile) = 1) then // Если не передали не одного имени файла, // то закончим с ошибкой. return 1; elsif emptyvalue(InFile) = 1 then // Если получили только OutBook скопируем его // значение. Будем копировать лист в одной книге. InFile = OutFile; elsif emptyvalue(OutFile) = 1 then // Аналогично. OutFile = InFile; endif; // Проверим существование файла источника. if fs.ExistFile(InFile) = 0 then return 2; endif; // Проверим существование файла цели. if fs.ExistFile(OutFile) = 0 then return 3; endif; // Получим имя листа. InWorksheet = vlParameter.Get("Sheet"); if emptyvalue(InWorksheet) = 1 then // Если значение пустое, то закончим с // ошибкой. return 4; endif; // Пробуем подключиться к OLE Server Excel try Excel = createobject("Excel.Application"); except return 5; endtry; // Откроем файл источника. Excel.Workbooks.Open(InFile); // Если источник не равен цели, то if InFile <> OutFile then // откроем и файл цели. Excel.Workbooks.Open(OutFile); endif; // Получим указатели на открытые нами книги. InBook = Excel.Workbooks.Item(ShortName(InFile)); OutBook = Excel.Workbooks.Item(ShortName(OutFile)); // Посмотрим есть ли у источника лист с нужным // нам наименованием. try // Если есть, то получим указатель на него. InSheet = InBook.Sheets(InWorksheet); except // Иначе, говорим об ошибке. return 6; endtry; // Копируем лист. InSheet.Copy(OutBook.Worksheets(1)); // Покажем результат пользователю. Excel.Visible = 1; Excel.EnableEvents = 1; Excel.ScreenUpdating = 1; return 0; endfunction |
|||
|
5
Scooter
29.07.09
✎
13:02
|
Range("C5:F18").Select
Selection.Copy Sheets("????2").Select Range("D6").Select ActiveSheet.Paste |
|||
|
6
skunk
29.07.09
✎
13:06
|
(5)зачем так сложно ... да и формат не скопирует вроде как
|
|||
|
7
Arm12
29.07.09
✎
13:15
|
skunk, Спасибо раскуриваю !!!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |