1

Тема: Добавление столбца

Добрый день.

Нужна помощь.

К примеру существует таблица из двух столбцов и множества строк.
В первом столбце каждая ячейка имеет одну строку.
Во втором столбце ячейки разбиты на несколько строк.
Необходимо вставить столбец, который как и первый имел бы только по одной строке в каждой ячейке.

З.Ы. во вложении файл с примером: необходимо между столбцами 1 и 2 вставить столбец имеющий вид точно такой же как первый.

Post's attachments

Документ Microsoft Word (3).docx 13.25 Кб, 2 скачиваний с 2017-10-20 

You don't have the permssions to download the attachments of this post.

2

Re: Добавление столбца

Sarunami пишет:

Добрый день.

Нужна помощь.

К примеру существует таблица из двух столбцов и множества строк.
В первом столбце каждая ячейка имеет одну строку.
Во втором столбце ячейки разбиты на несколько строк.
Необходимо вставить столбец, который как и первый имел бы только по одной строке в каждой ячейке.

З.Ы. во вложении файл с примером: необходимо между столбцами 1 и 2 вставить столбец имеющий вид точно такой же как первый.

Могу предложить вам такой вариант.

Sub AddColumn()
Dim oDoc As Document
Dim oTable As Table
Dim oTables As Table
Dim iRows As Integer
On Error Resume Next
Set oDoc = ActiveDocument
Set oTable = oDoc.Tables(1)
iRows = oTable.Columns(1).Cells.Count
For i = iRows To 2 Step -1
    oTable.Columns(1).Cells(i).Select
    Selection.SplitTable
Next i
    For Each oTables In oDoc.Tables
        oTables.Cell(1, 1).Select
        Selection.InsertColumnsRight
        Selection.Cells.Merge
    Next oTables
    Selection.HomeKey Unit:=wdStory
With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Wrap = wdFindContinue
    .Forward = True
    .Text = Chr(13)
    Do While .Execute = True
        iChar = ActiveDocument.Characters.Count - 1
        If oDoc.Range(1, Selection.End).Characters.Count = 1 Or oDoc.Range(1, Selection.End).Characters.Count = iChar Then GoTo NextChar
        If Selection.Previous.Characters(1).Information(wdWithInTable) And _
        Not Selection.Characters(1).Information(wdWithInTable) And _
        Selection.Next.Characters(1).Information(wdWithInTable) Then
        Selection.Characters(1).Delete
        End If
NextChar:
    Loop
End With
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871