1

Тема: Макрос для копирования определенного количества символов

Помогите пожалуйста. Пишу диплом. Очень нужен макрос для копирования определенного количества символов из текста документа Word с последующей вставкой их в поля свойств файла. В одно поле максимум вмещается 32768 символов.

2

Re: Макрос для копирования определенного количества символов

Со свойствами документа работают так:

Dim D As Word.Document

    Set D = ActiveDocument
    D.BuiltInDocumentProperties(wdPropertyAuthor).Value = Selection.Text
    ' или так
    D.CustomDocumentProperties.Add _
        Name:="Свойство1", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeString, _
        Value:=Selection.Text
    ' или так
    D.CustomDocumentProperties("Свойство1").Value = Selection.Text

А в чем проблема с количеством символов?

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Макрос для копирования определенного количества символов

Спасибо. У меня диплом по защите информации. Мне нужно, чтобы макрос выделял текст блоками по 32768 символов и загонял в поля свойств по очереди.

4

Re: Макрос для копирования определенного количества символов

Ловим:

Const c_Length& = 32768 ' длина блока

Dim D As Word.Document
Dim R As Word.Range
Dim N&

    N = 0 ' счетчик блоков
    Set D = ActiveDocument
    ' начало текста
    Set R = D.Range(0, 0)
    ' захват текста
    Do While R.MoveEnd(Unit:=wdCharacter, Count:=c_Length) > 0
        ' запись свойства
        N = N + 1
        D.CustomDocumentProperties.Add _
            Name:="Блок " & CStr(N), _
            LinkToContent:=False, _
            Type:=msoPropertyTypeString, _
            Value:=R.Text
        ' конец документа
        If R.End >= R.StoryLength Then Exit Do
        ' конец текста
        R.Collapse Direction:=Word.wdCollapseEnd
    Loop

Получите "отлично" - с Вас магарыч smile

Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Макрос для копирования определенного количества символов

Спасибо большое. Все получилось smile smile  smile  smile  smile