Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, решить задачу, убил кучу времени, но не хватает знаний и не смог найти подобных решений на просторах паутины. Есть таблица excel, из которой выгружаются данные в файлы word. В частности выгружаются названия документов и им присваиваются номера. Все это работает. Но хотелось бы еще для наведения марафета в выгружаемом названии изменить интервал между символами на разреженный (параметр Spacing = 1), при этом в номере межсимвольный интервал должен остаться обычным (параметр Spacing = 0). Т.е. после вставки текста в ячейку таблицы Word у первых 17 символов текста с начала строки нужно сделать межсимвольный интервал разреженным.
[vba]
Код
Sub NumberDOC()
Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim WrdTbl As Word.Table Dim WrdCell As Word.Cell
On Error Resume Next Set WrdApp = GetObject(, "Word.Application") If WrdApp Is Nothing Then Set WrdApp = CreateObject("Word.Application") On Error GoTo 0 WrdApp.Visible = False
Sheets("лист1").Range("B4").Copy Set WrdDoc = WrdApp.Documents.Open(ThisWorkbook.Path & "\" & "отчет.docx") ' Set WrdTbl = WrdDoc.Tables(1) ' Set WrdCell = WrdTbl.Cell(1, 1) Set WrdCell = WrdDoc.Tables(1).Cell(1, 1) WrdCell.Range.Delete WrdCell.Range.PasteAndFormat (22)
'If WrdApp.Documents.Count = 0 Then ' WrdApp.Quit ' Exit Sub 'End If
WrdApp.Visible = True
End Sub
[/vba]
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, решить задачу, убил кучу времени, но не хватает знаний и не смог найти подобных решений на просторах паутины. Есть таблица excel, из которой выгружаются данные в файлы word. В частности выгружаются названия документов и им присваиваются номера. Все это работает. Но хотелось бы еще для наведения марафета в выгружаемом названии изменить интервал между символами на разреженный (параметр Spacing = 1), при этом в номере межсимвольный интервал должен остаться обычным (параметр Spacing = 0). Т.е. после вставки текста в ячейку таблицы Word у первых 17 символов текста с начала строки нужно сделать межсимвольный интервал разреженным.
[vba]
Код
Sub NumberDOC()
Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim WrdTbl As Word.Table Dim WrdCell As Word.Cell
On Error Resume Next Set WrdApp = GetObject(, "Word.Application") If WrdApp Is Nothing Then Set WrdApp = CreateObject("Word.Application") On Error GoTo 0 WrdApp.Visible = False
Sheets("лист1").Range("B4").Copy Set WrdDoc = WrdApp.Documents.Open(ThisWorkbook.Path & "\" & "отчет.docx") ' Set WrdTbl = WrdDoc.Tables(1) ' Set WrdCell = WrdTbl.Cell(1, 1) Set WrdCell = WrdDoc.Tables(1).Cell(1, 1) WrdCell.Range.Delete WrdCell.Range.PasteAndFormat (22)
Может кому то пригодится в будущем решение данной задачи от Shocker.Pro с форума www.sql.ru. Кодом, запускаемым из Excel, изменяется межсимвольный интервал с 1 по 17 символ текста в ячейке таблицы Word. [vba]
Код
Sub IntervalFont()
Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim t As Word.Range
On Error Resume Next Set WrdApp = GetObject(, "Word.Application") If WrdApp Is Nothing Then Set WrdApp = CreateObject("Word.Application") On Error GoTo 0
Set WrdDoc = WrdApp.Documents.Open(ThisWorkbook.Path & "\" & "отчет.docx") Set t = WrdDoc.Tables(1).Cell(1, 1).Range WrdDoc.Range(t.Start, t.Start + 17).Font.Spacing = 3
End Sub
[/vba]
Может кому то пригодится в будущем решение данной задачи от Shocker.Pro с форума www.sql.ru. Кодом, запускаемым из Excel, изменяется межсимвольный интервал с 1 по 17 символ текста в ячейке таблицы Word. [vba]
Код
Sub IntervalFont()
Dim WordApp As Word.Application Dim WordDoc As Word.Document Dim t As Word.Range
On Error Resume Next Set WrdApp = GetObject(, "Word.Application") If WrdApp Is Nothing Then Set WrdApp = CreateObject("Word.Application") On Error GoTo 0
Set WrdDoc = WrdApp.Documents.Open(ThisWorkbook.Path & "\" & "отчет.docx") Set t = WrdDoc.Tables(1).Cell(1, 1).Range WrdDoc.Range(t.Start, t.Start + 17).Font.Spacing = 3