Форматироваине Текста В Шаблоне Word

Тема в разделе "Lotus - Программирование", создана пользователем StarikStarik2705, 14 окт 2013.

  1. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    в общем идея следущая, есть код который делает с закладками ворда всё что надо, но нельзя ли переформатировать чать текста? например добавляю текст "ОЛОЛО" и хочу его жирным сделать или шрифт поменять.
    в инете нашёл следующий код (отмеченый)

    On Error GoTo ErrHandle

    Dim item As NotesItem
    Dim r As NotesItem
    Dim stream As NotesStream
    Dim flag As Boolean
    Dim v As Variant
    Dim subString As String
    Dim s As New NotesSession
    Dim i As Long
    Dim tSTR As String

    Set stream = s.createstream
    Set r = doc.Getfirstitem(rt.name)
    Set stream = s.CreateStream
    Set item = r
    ForAll z In doc.Items
    Set item = z
    If item.Type = 1 Then
    If LCase(item.Name) = LCase(Trim(rt.name)) And item.Valuelength > 0 Then
    Set rt = item
    If Trim(rt.getunformattedText()) <> "" Then
    stream.Writetext(rt.getunformattedText())
    End If
    End If
    End If
    End ForAll
    stream.Position = 0
    If WordDoc.Bookmarks.Exists( BookmarksWord )= True Then ' проверка что закладка есть в документе
    Call Word.Selection.GoTo( -1,,, BookmarksWord )
    tSTR = stream.Readtext()
    i = Len(tSTR)
    If tSTR <>"" Then
    While Len(tstr)>0
    subString = Mid(tstr,1,10000) 'так получилось что пачки информации для передачи в ворд лотус гинерит не большие, решили по частям отдавать
    Word.Selection.TypeText(subString)
    tstr = Mid(tstr,10001)
    Wend
    Else
    Call Word.Selection.TypeText(" ")
    End If
    Else
    Print " нет закладки", BookmarksWord
    End If

    Dim cursor As Variant
    Set cursor = word.Selection

    cursor.TypeText(Chr(10) & "Hello, world!")
    wordDoc.Paragraphs(1).Range.Select
    cursor.Font.Bold = True

    Call stream.Close()


    обещали что эти методы выделят строку и присвоят ей "жирный" оттенок. Не получилось такого. Кто то сталкивался с такой задачей? решали её?
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    В Word 2010 при записи макроса, выдал следующее:
    Код (LotusScript):
    Selection.Font.Bold = wdToggle
    wdToggle = 9999998

    По выделенному тексту
     
  3. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    этот способ я тоже пробовал. Ничего не получилось.
    Call Word.Selection.TypeText("22")
    Word.Selection.Font.Bold = false

    сама закладка выделена жирным, я хочу снять черноту, и где нужно выделить слова
    пока с RAnge играюсь, дало самы адекватный результат, только что на место закладки текст не стал
     
  4. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    благодарю за помощь я решил задачку, вот <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">пример </div></div><div class="sp-body"><div class="sp-content">
    Код (LotusScript):
    Sub UpdateBookmarkNew (BookmarksWord As String, txt As String)
    %REM
    строка типа xxx: yyy
    tmp(0) = xxx:
    tmp(y) = yyy
    %end rem
    On Error GoTo ErrHandle
    Dim strr As Variant
    Dim i As long
    Dim tmp As Variant

    Dim Range As Variant
    If WordDoc.Bookmarks.Exists( BookmarksWord )= True Then ' проверка что закладка есть в документе
    Call Word.Selection.GoTo( -1,,, BookmarksWord )
    If txt<>"" Then        
    strr = Split(txt,Chr(10))                  
    For i = LBound (strr) To UBound(strr)
    tmp = Split(strr(i),":")               
    Call Word.Selection.TypeText(tmp(0) + ": " + tmp(1))
    Call Word.Selection.TypeText(Chr(10))                  
    Set Range = WordDoc.Range(Word.Selection.end -Len(tmp(1)), Word.Selection.end)
    Range.font.bold = false                
    Next           
    Else
    Call Word.Selection.TypeText(" ")
    End If
    Else
    Print " нет закладки", BookmarksWord
    End If
    Exit Sub
    ErrHandle:
    Print " нет закладки", BookmarksWord
    'Print "Ошибка на: " & erl, Error " "& BookmarksWord
    Resume Next
    End Sub
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    отформатируйте сообщения с кодом, соответ. образом
     
Загрузка...

Поделиться этой страницей