Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] копирование столбца из excel в другой excel

Ответить
Настройки темы
CMD/BAT - [решено] копирование столбца из excel в другой excel

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день имеются множество файлов ( пример прикрепил ). Можно ли как то из этих всех файлов вырезать только один столбец (NUM ) И чтоб нумерация из этих столбцов была полностью видна. То есть при нажатии скриптов создавались бы excel файлы только с Num столбцами. Эти файлы лежат на D:\Новая папка а экспорт новых excel файлов например на D:\Новая папка2

Отправлено: 11:15, 10-05-2018

 

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xls 34S_400000 - 400138_09.05.2018_38.xls
(60.4 Kb, 3 просмотров)

Вот сам файл

Отправлено: 11:17, 10-05-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата romfus:
имеются множество файлов ( пример прикрепил ). »
Если речь ведётся о «множестве», лучше сразу давать два-три файла, а не один, дабы было с чем работать.

Цитата romfus:
Можно ли как то из этих всех файлов вырезать только один столбец (NUM ) И чтоб нумерация из этих столбцов была полностью видна. То есть при нажатии скриптов создавались бы excel файлы только с Num столбцами. Эти файлы лежат на D:\Новая папка а экспорт новых excel файлов например на D:\Новая папка2 »
Можно. Только не на пакетных файлах, а посредством чего0либо, поддерживающего Automation — WSH, PowerShell, AutoIt и т.п.

А какова цель сего действа? Вот мы удалили из листа Рабочей книги все столбцы, кроме num, выровняли его, сохранили под тем же именем в конечный каталог. Затем другую Рабочую книгу, третью… А что дальше?

Отправлено: 11:34, 10-05-2018 | #3


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xls 34S_1 - 999999_09.05.2018_101.xls
(36.7 Kb, 1 просмотров)

Да просто этих файлов у меня штук 100. и так каждый открывать удалять на это времени много уходит. Просто мне нужно этот Num столбец потом будет еще распечатать. Проще ж потом выделить сформированные файлы и все разом пустить на печать а не открывать каждый потом удалять потом на печать. Вот вам 2 файл для примера.

Отправлено: 11:43, 10-05-2018 | #4


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да и мне нужно чтобы оригинал файла сохранился. Хотя знаете можно просто тогда удалить из оригинала и все. Я если что найду способ как оригиналы найти

Отправлено: 11:44, 10-05-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


romfus, ну, пробуйте (на WSH):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFolder
Dim strDestFolder

Dim objFSO
Dim objFile

Dim objExcel


strSourceFolder = "C:\Мои проекты\0155\Source"
strDestFolder   = "C:\Мои проекты\0155\Destination"

Set objExcel = Nothing

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strSourceFolder) Then
	If objFSO.FolderExists(strDestFolder) Then
		For Each objFile In objFSO.GetFolder(strSourceFolder).Files
			Select Case LCase(objFSO.GetExtensionName(objFile.Name))
				Case "xls", "xlsx"
					If objExcel Is Nothing Then
						Set objExcel = WScript.CreateObject("Excel.Application")
					End If
					
					With objExcel
						With .Workbooks.Open(objFile.Path)
							With .Worksheets.Item(1)
								If StrComp(.Cells(1, 1).Value, "num", vbTextCompare) = 0 Then
									With .UsedRange.EntireColumn
										.Offset(0, 1).Delete
										.AutoFit
									End With
								Else
									WScript.Echo "Can't find [num] in A1 cell in first worksheet in [" & objFile.Name & "] workbook."
								End If
							End With
							
							.SaveAs objFSO.BuildPath(strDestFolder, objFile.Name)
							.Close
						End With
					End With
				Case Else
					' Nothing to do
			End Select
		Next
		
		objExcel.Quit
		
		Set objExcel = Nothing
	Else
		WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
		WScript.Quit 2
	End If
Else
	WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

Но у меня возник вопрос — вот, Вы распечатываете результирующие Рабочие книги. И только? А потом они Вам не требуются, и Вы их удаляете? Если так, то вовсе нет никакой нужды в сохранении Рабочих книг: можно удалить все столбцы, кроме num, подогнать ширину столбца num по содержимому, отправить результат на печать и закрыть Рабочую книгу, никуда не сохраняя . Как Вам такое? Или же Вы там ещё каким-то хитрым образом подгоняете, масштабируете, соединяете результирующие данные?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:54, 10-05-2018 | #6


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Что-то не запускается скрипт. Как его запустить? Дак нам приходит ежедневно по 100 таких файлов. Это ж нужно каждый так открывать удалять печатать и т д

А все . Работает. А вот такой вопрос. А нельзя ли чтобы столбец NUM шел не просто вниз а по всему листу?. ПРи печати хорошая Экономия бумаги получится. То что я вам кинул это самый маленький файл. Так если на печатаь бросать результат получается на 8 листов аж

Отправлено: 15:05, 10-05-2018 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата romfus:
Что-то не запускается скрипт. Как его запустить? »
Сохранить код в файл с расширением .vbs, указав свои пути к исходному и целевому каталогам. Запустить двойным щелчком.

Цитата romfus:
Дак нам приходит ежедневно по 100 таких файлов. Это ж нужно каждый так открывать удалять печатать и т д »
Так я и предлагаю: если Вы только печатаете результирующие Рабочие книги, и ничего больше — сделать так, чтобы Вам не приходилось каждую исправленную Рабочую книгу открывать, печатать и закрывать. Пробуем, делаем?

Отправлено: 15:21, 10-05-2018 | #8


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Давайте. Попробуем

Отправлено: 15:24, 10-05-2018 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


romfus, а что с текущим скриптом — заработал он у Вас, або нет?

Отправлено: 15:48, 10-05-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] копирование столбца из excel в другой excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Экономное копирование накладных из одного листа в другой для печати (Excel) Alexander_88 Microsoft Office (Word, Excel, Outlook и т.д.) 0 26-10-2015 00:31
Любой язык - Копирование таблицы (2 столбца) из файла .htm в Excel Serg2010 Скриптовые языки администрирования Windows 2 05-08-2015 22:18
2010 - [решено] Excel - копирование выбранных строк на другой лист linkwy Microsoft Office (Word, Excel, Outlook и т.д.) 3 16-08-2012 21:14
2003/XP/2000 - [решено] Excel: График из столбца с датами. ven00m Microsoft Office (Word, Excel, Outlook и т.д.) 1 26-03-2012 03:07
2003/XP/2000 - excel таблица из другой excel таблицы sesves Microsoft Office (Word, Excel, Outlook и т.д.) 2 16-03-2012 01:24




 
Переход