PDA

Показать полную графическую версию : [решено] Excel и автоматизация.


vlad20
24-12-2012, 07:56
Привет. Подскажите пожалуйста каким образом можно автоматизировать следующую задачу может быть можно и стандартными средствами?
Имеется Excel евский документ с тремя столбцами A B C, необходимо сохранить информацию из столбцов в текстовый документ следующим образом, A "пробел" BC (BC без пробелов), т.е все три поля. Стандартными средствами Excel удается лишь сохранить с табуляцией между колонками, если между A и B табуляция допустима, то BC должно быть без разделителей.

LehaMechanic
24-12-2012, 08:30
Создайте четвертый столбец, заполненный по формуле

D1=СЦЕПИТЬ(B1;C1)
D2=СЦЕПИТЬ(B2;C2)
и т.д.

Сохраняйте информацию из двух столбцов А и D.

Iska
24-12-2012, 10:55
Следующий код сохранит вышеуказанным образом три первых использованных столбца с первого листа рабочей книги:
Option Explicit

Dim strDocument
Dim strTextFile

Dim objFSO
Dim objTS

Dim objExcel
Dim objWorkbook
Dim objRow


strDocument = "E:\Песочница\0218\Книга1.xls"
strTextFile = "E:\Песочница\0218\Книга1.txt"

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

If objFSO.FileExists(strDocument) Then
Set objTS = objFSO.CreateTextFile(strTextFile, True)

With WScript.CreateObject("Excel.Application")
With .Workbooks.Open(strDocument)
With .Worksheets.Item(1)
For Each objRow In .UsedRange.Rows
objTS.WriteLine objRow.Cells(1, 1).Value & " " & objRow.Cells(1, 2).Value & objRow.Cells(1, 3).Value
Next
End With

.Close
End With

.Quit
End With

objTS.Close

Set objTS = Nothing
Else
WScript.Echo "File [" & strDocument & "] not found"
End If

Set objFSO = Nothing

WScript.Quit 0

vlad20
24-12-2012, 13:15
Iska, большое спасибо
Leha Ares, ваше решение - стандартный способ, который не пришел мне на ум, спасибо




© OSzone.net 2001-2012