Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скопировать Word.Range без использования клипборда или внешних файлов? / 9 сообщений из 9, страница 1 из 1
21.12.2013, 01:56
    #38508608
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
Как скопировать Word.Range без использования буфера обмена и внешних файлов? Странно, но я не смог найти ответа ни в документации, ни на форуме, ни в гугле, хотя, казалось бы, достаточно нужная функция. В Экселе - пожалуйста, есть Copy с параметром Destination, а как быть с Вордом?

Есть некий суррогат - копирование FormattedText - но это мне не подходит, так как внутри Range может находиться произвольная таблица.
...
Рейтинг: 0 / 0
21.12.2013, 03:27
    #38508631
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
На самом деле, в Excel такое действие - аналог использования в качестве указателя не объекта "буфер" , а некоего другого объекта . Поэтому и есть так... В текст-процессорах же изначально заложен принцип работы только с текстом и обмена через буфер (ибо работа всегда выполняется над неким диапазоном). Поэтому и нет отдельной команды.
Впрочем, а что говорит объектная модель?
Выделим некий текст и исполним:
Код: vbnet
1.
2.
3.
4.
    cSel = Selection.Text
    Selection.MoveEnd
    Selection.MoveRight wdWord
    Selection.TypeText cSel
...
Рейтинг: 0 / 0
21.12.2013, 03:49
    #38508637
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
А, да, извиняюсь, недовтыкнул... насчёт "таблицы", и вообще "куска документа".
Сходу не скажу (вроде бы когда-то я видел метод обхода буфера) - но зачем? Если инструмент заточен под буфер - так и пользуем его...
...
Рейтинг: 0 / 0
21.12.2013, 11:41
    #38508715
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
AndreTMно зачем?затем, что негоже пользовательскому приложению портить текущий буфер обмена - плохой тон
...
Рейтинг: 0 / 0
21.12.2013, 11:43
    #38508717
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
И, главное, сам-то ворд обладает такой функцией - если перетащить выделение мышью с удержанием контрола - оно скопируется, не испортив буфер обмена. Но мышиные действия макрорекордер не пишет.
...
Рейтинг: 0 / 0
21.12.2013, 21:49
    #38508982
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
Без использования буфера, выбранный фрагмент (Selection), можно копировать и перемещать внутри документа с помощью команд CopyText и MoveText соответственно.
...
Рейтинг: 0 / 0
21.12.2013, 22:03
    #38508985
Как скопировать Word.Range без использования клипборда или внешних файлов?
Shocker.Pro,

Word.Range.Duplicate - не?
...
Рейтинг: 0 / 0
22.12.2013, 00:16
    #38509043
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
13-й кварталWord.Range.Duplicate - не?нет, это просто клонирование указателя, но не содержимого
...
Рейтинг: 0 / 0
17.11.2014, 11:04
    #38807976
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать Word.Range без использования клипборда или внешних файлов?
"booby" предложил работающий вариант 16856008
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скопировать Word.Range без использования клипборда или внешних файлов? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]