Компьютерный форум 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=249834)

vlad20 24-12-2012 07:56 2052192

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

LehaMechanic 24-12-2012 08:30 2052209

Создайте четвертый столбец, заполненный по формуле

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

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

Iska 24-12-2012 10:55 2052289

Следующий код сохранит вышеуказанным образом три первых использованных столбца с первого листа рабочей книги:
читать дальше »
Код:

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 2052401

Iska, большое спасибо
Leha Ares, ваше решение - стандартный способ, который не пришел мне на ум, спасибо


Время: 19:26.

Время: 19:26.
© OSzone.net 2001-