Перенос текста в ячейке таблицы - VB

Узнай цену своей работы

Формулировка задачи:

Прошу помощи. Сам практически чайник. Есть шаблон Ворда. В нем есть таблицы, которые заполняются програмно. Необходимо узнать когда текст в ячейке переносится на новую строку при автовысоте строки таблицы и добавлении текста по одному слову.

Решение задачи: «Перенос текста в ячейке таблицы»

textual
Листинг программы
<font color="blue">Function</font> fncReplaceTextOnOneString(FindTxt <font color="blue">As</font> <font color="blue">String</font>, ReplaceTxt <font color="blue">As</font> <font color="blue">String</font>) <font color="blue">As</font> <font color="blue">String</font>
    <font color="blue">Dim</font> rng <font color="blue">As</font> Range
    <font color="blue">Dim</font> sngFirst <font color="blue">As</font> <font color="blue">Single</font>
    <font color="blue">Dim</font> sngLast <font color="blue">As</font> <font color="blue">Single</font>
    <font color="blue">Dim</font> cntLines <font color="blue">As</font> <font color="blue">Integer</font>
    <font color="blue">Dim</font> ret <font color="blue">As</font> <font color="blue">Boolean</font>
    <font color="blue">Dim</font> retString <font color="blue">As</font> <font color="blue">String</font>
    
    retString = <font color="teal">""</font>
    ret = False
    
    
    cntLines = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)
    Selection.Find.Text = FindTxt
    Selection.Find.Replacement.Text = ReplaceTxt
    Selection.Find.Wrap = wdFindContinue
    Selection.Find.Execute Replace:=wdReplaceOne
    <font color="blue">Set</font> rng = Selection.Cells(<font color="darkblue"><b>1</b></font>).Range
    ret = CBool(cntLines = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines))
    
    <font color="blue">If</font> ret <font color="blue">Then</font>
        fncReplaceTextOnOneString = retString
    <font color="blue">Else</font>
        <font color="blue">Do</font>
            retString = rng.Words(rng.Words.Count - <font color="darkblue"><b>1</b></font>) + retString
            rng.Words(rng.Words.Count - <font color="darkblue"><b>1</b></font>).Delete
            ret = CBool(cntLines = ActiveDocument.BuiltInDocumentProperties(wdPropertyLines))
        fncReplaceTextOnOneString = retString
        <font color="blue">Loop</font> <font color="blue">While</font> <font color="blue">Not</font> ret
    <font color="blue">End</font> <font color="blue">If</font>
    
            
    <font color="blue">End</font> <font color="blue">Function</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы