всем привет !
Пишу первый макрос :
есть таблица ексель с сописками электронных компонентов, нужно сегенерить ворд-документы по каждой однотипной позиции под требования отдела закупок.
Написал такой текст :
Однако такая конструкция в цикле работает неправильно: в последний файл из десяти вписываются все позиции.
Во второй две, в в пятый пять
Примерно так получатся в последнем ворд-файле:
Пишу первый макрос :
есть таблица ексель с сописками электронных компонентов, нужно сегенерить ворд-документы по каждой однотипной позиции под требования отдела закупок.
Написал такой текст :
Код |
---|
Sub m1() Dim objWord As Object Dim FileSt Dim FileNew Set objWord = CreateObject("Word.Application") FileSt = "C:\SHABLON.docx" Set objDoc = objWord.Documents.Open(FileSt) objWord.Visible = True ' пишем в файлы с названием элемента в цикле For i = 15 To 25 FileNew = "C:\zayavki2021\" & i & Cells(14, 2).Value & Cells(i, 2).Value & ".docx" objWord.ActiveDocument.SaveAs _ Filename:=FileNew, _ AddToRecentFiles:=True, _ ReadOnlyRecommended:=False ' ТИТУЛЬНЫЙ ЛИСТ objDoc.Bookmarks("Z1").Range.InsertAfter "_" & i & (Cells(14, 2).Value) objDoc.Bookmarks("Z1").Range.InsertAfter (Cells(i, 2).Value) ' название objDoc.Bookmarks("Z2").Range.InsertAfter (Cells(14, 2).Value) objDoc.Bookmarks("Z2").Range.InsertAfter (Cells(i, 2).Value) ' область применения objDoc.Bookmarks("Z3").Range.InsertAfter (Cells(14, 2).Value) objDoc.Bookmarks("Z3").Range.InsertAfter (Cells(i, 2).Value) ' параметры и размеры objDoc.Bookmarks("Z4").Range.InsertAfter (Cells(14, 2).Value) ' технико эконом и эксплуат показатели objDoc.Bookmarks("Z5").Range.InsertAfter (Cells(i, 6).Value) ' ТРЕБОВАНИЯ К ЭЛЕКТРОПИТАНИЮ objDoc.Bookmarks("Z6").Range.InsertAfter (Cells(i, 6).Value) ' КОЛИЧЕСТВО objDoc.Bookmarks("Z7").Range.InsertAfter (Cells(i, 6).Value) Next i objWord.ActiveDocument.Close objWord.Quit End Sub |
Однако такая конструкция в цикле работает неправильно: в последний файл из десяти вписываются все позиции.
Во второй две, в в пятый пять
Примерно так получатся в последнем ворд-файле:
Цитата |
---|
Техническое задание на поставку 0402 10k 0.062Вт 25В_25Резисторы 1%0402 6k2 0.062Вт 25В_24Резисторы 1%0402 5k6 0.062Вт 25В_23Резисторы 1%0402 1k6 0.062Вт 25В_22Резисторы 1%0402 1k 0.062Вт 25В_21Резисторы 1%0402 680 0.062Вт 25В_20Резисторы 1%0402 100 0.062Вт 25В_19Резисторы 1%0402 1k6 0.062Вт 25В_18Резисторы 1%0402 68 0.062Вт 25В_17Резисторы 1%0402 50 0.062Вт 25В_16Резисторы 1%0402 20 0.062Вт 25В _15Резисторы 1% |