Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Копирование строк из одного файла в другой (excel) (http://forum.oszone.net/showthread.php?t=347121)

maxim43g 25-11-2020 10:52 2940960

Копирование строк из одного файла в другой (excel)
 
Добрый день.
Нашёл на просторах интернета такой прекрасный скрипт
Цитата:

Option Explicit
Dim objApp, objWbs, objWorkbook1, objWorkbook2, objSheet1, objSheet2

Set objApp = CreateObject("Excel.Application")
Set objWbs = objApp.WorkBooks
objApp.Visible = False ' Невидимый
objApp.DisplayAlerts = False ' Не спрашивать глупости
Set objWorkbook1 = objWbs.Open("C:\1\Template.xls") ' Открываем шаблон (В нём первая строка, с картинкой)
Set objWorkbook2 = objWbs.Open("C:\1\Data.xls") ' Открываем данные
Set objSheet1 = objWorkbook1.Sheets(1) ' Первый лист
Set objSheet2 = objWorkbook2.Sheets(1) ' Первый лист

' Копируем все заполненные ячейки из файла с данными, в шаблон, начиная со второй строки
objSheet2.UsedRange.Copy(objSheet1.Rows(2))
' Или копируем первую строку из шаблона, в книгу с данными, заменяя имеющуюся
' objSheet1.Rows(1).Copy(objSheet2.Rows(1))

' Сохраняем изменённый шаблон под другим именем.
objWorkbook1.SaveAs("C:\1\Result.xls")
' Или сохраняем изменённую книгу с данными под тем же именем.
' objWorkbook2.Save

objWbs.Close

подскажите, что в нем нужно редактировать, что бы я мог копировать определенные столбцы , а не строки целиком? и вставлять в определенные столбцы в другом файле.
Пример скопировать столбец А файла "1", в столбец В файла "2"

DJ Mogarych 25-11-2020 14:23 2940986

Изучите возможности модуля ImportExcel в Powershell, тогда не нужно будет геморроиться с COM-объектами.

maxim43g 25-11-2020 16:28 2940999

я в этом не особо понимаю.
может хотя бы поможете изменить строку objSheet2.UsedRange.Copy(objSheet1.Rows(2)) так, что если бы в objSheet1 есть данные он их не стирал и записывал новые, а копировал их после строк с данными

Iska 25-11-2020 19:14 2941014

Цитата:

Цитата maxim43g
Пример скопировать столбец А файла "1", в столбец В файла "2" »

Код:

objSheet1.Columns(1).Copy(objSheet2.Columns(2))
Не проверялось.

Цитата:

Цитата maxim43g
может хотя бы поможете изменить строку objSheet2.UsedRange.Copy(objSheet1.Rows(2)) так, что если бы в objSheet1 есть данные он их не стирал и записывал новые, а копировал их после строк с данными »

А вот это будет напрямую зависеть от содержимого Ваших Sheet1 и Sheet2.

Но вообще, если Вы пытаетесь изобразить из Microsoft Excel базу данных — бросьте, дурная затея.

maxim43g 26-11-2020 16:56 2941100

Цитата:

Цитата Iska
А вот это будет напрямую зависеть от содержимого Ваших Sheet1 и Sheet2. »

что вы имеете ввиду?
Копирование из столбца A в столбец A, из В в В, и т.д.


Время: 15:24.

Время: 15:24.
© OSzone.net 2001-