Скопируйте форматированный текст и файл с форматом - PullRequest
0 голосов
/ 25 ноября 2018

Работая с WORD2010 в Windows 10, я хочу скопировать все подписи к рисункам статьи и расположить их в виде списка в конце текста.

Сначала я попытался с помощью массива.Я скопировал подписи к рисункам в виде строк с помощью Selection.formattedText, поместил их в массив и использовал Selection.typeText, чтобы вставить строки в конце документа Word в виде списка.Естественно, проблема в том, что формат, например, символ для греческого алфавита и буквы нижнего регистра не сохраняется.Поэтому я хотел использовать Selection.CopyFormat, а затем selection.replacement.text = Selection.FormattedText.Конечно же, та же проблема.В принципе, это работает, потому что вставка текста непосредственно после копирования дает формат записи.Однако я хочу скопировать его, а затем выполнить поиск по определенной «фиктивной» строке (Figure_XX_1) в конце документа и заменить выбранную фиктивную строку скопированным текстом.В этом случае я всегда получаю последний код, который я скопировал (перед запуском макроса) в буфер обмена вместо моего скопированного текста.Интересно, почему это происходит ..

Sub Makro1()
'
   Selection.WholeStory
   With Selection
    .EndKey Unit:=wdStory, Extend:=wdMove
    .InsertBreak Type:=wdSectionBreakNextPage
    .InsertAfter ("Titles of Figures" & Chr(13) & "Figure_XX_1")&Chr(13)
    End With
   ActiveDocument.InlineShapes(12).Select
  Selection.GoTo What:=wdGoToField, Which:=wdGoToNext, Count:=1, Name:="SEQ Figure *"
    Selection.EndKey Unit:=wdLine
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.HomeKey Unit:=wdLine
    Selection.Paragraphs(1).Range.Select ' select figure caption        
    Selection.CopyFormat      ' copy figure caption

    With Selection
    .Find.Text = "Figure_XX_1"
    .Find.Execute
    .PasteAndFormat (wdFormatOriginalFormatting)
    End With            
  End Sub

Может кто-нибудь помочь мне вставить скопированный отформатированный текст ??Я не люблю программировать с выделением, но не вижу другого способа сохранить формат .... Возможно, есть способ сохранить греческие буквы с помощью юникода?Тогда я бы отдельно рассмотрел проблему с индексом, проверив подстрок позже некоторым кодом.Или есть способ заставить вышеуказанный код работать желаемым образом ??

Большое спасибо ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...