Boris26rus
28-05-2013, 23:32
Добрый вечер.
Я только учусь писать на VBS. Общий смысл такой - берем данные из Excel и переносим их в Word.
Проблема - в Excel-файле бывают несколько одинаковых строк, которые все переносятся в Word. Но мне не надо их переносить, если они одни и те же (например в Excel есть: Иванов
Петров
Иванов
- перенести нужно: "Иванов, Петров")
В VBS написал так:
IF objRec.Fields(2) = "Фамилия" THEN fio = fio1&chr(13)&objRec.Fields(3)&"," &chr(13)& "прож. по адресу:"
И получается так:
"Иванов
прож. по адресу:
Петров
прож. по адресу:
Иванов
прож. по адресу:"
А нужно:
"Иванов
прож. по адресу:
Петров
прож. по адресу:"
Помогите, пожалуйста!
Полный код:
Set oArg = Wscript.Arguments
fName = oArg.Item(0)
Set objCon = CreateObject("ADODB.Connection")
Set objRec = CreateObject("ADODB.Recordset")
objCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&fName&";Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";"
objRec.Open "Select * From [ReportData$]",objCon,3,3
Do Until objRec.EOF
IF objRec.Fields(2) = "Фамилия" THEN fio = fio&chr(13)&objRec.Fields(3)&"," &chr(13)& "прож. по адресу:"
objRec.MoveNext
Loop
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Const wdReplaceAll = 2
Set oDoc = oWord.Documents.Open("C:\Данные\Фамилии.rtf")
Set oSel = oWord.Selection
oSel.Find.Forward = TRUE
oSel.Find.MatchWholeWord = TRUE
oSel.Find.Execute "fio" ,,,,,,,,,fio ,wdReplaceAll
oDoc.SaveAs("c:\Данные\Фамилии "&fio&".doc")
Я только учусь писать на VBS. Общий смысл такой - берем данные из Excel и переносим их в Word.
Проблема - в Excel-файле бывают несколько одинаковых строк, которые все переносятся в Word. Но мне не надо их переносить, если они одни и те же (например в Excel есть: Иванов
Петров
Иванов
- перенести нужно: "Иванов, Петров")
В VBS написал так:
IF objRec.Fields(2) = "Фамилия" THEN fio = fio1&chr(13)&objRec.Fields(3)&"," &chr(13)& "прож. по адресу:"
И получается так:
"Иванов
прож. по адресу:
Петров
прож. по адресу:
Иванов
прож. по адресу:"
А нужно:
"Иванов
прож. по адресу:
Петров
прож. по адресу:"
Помогите, пожалуйста!
Полный код:
Set oArg = Wscript.Arguments
fName = oArg.Item(0)
Set objCon = CreateObject("ADODB.Connection")
Set objRec = CreateObject("ADODB.Recordset")
objCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&fName&";Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";"
objRec.Open "Select * From [ReportData$]",objCon,3,3
Do Until objRec.EOF
IF objRec.Fields(2) = "Фамилия" THEN fio = fio&chr(13)&objRec.Fields(3)&"," &chr(13)& "прож. по адресу:"
objRec.MoveNext
Loop
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Const wdReplaceAll = 2
Set oDoc = oWord.Documents.Open("C:\Данные\Фамилии.rtf")
Set oSel = oWord.Selection
oSel.Find.Forward = TRUE
oSel.Find.MatchWholeWord = TRUE
oSel.Find.Execute "fio" ,,,,,,,,,fio ,wdReplaceAll
oDoc.SaveAs("c:\Данные\Фамилии "&fio&".doc")