|
Использование Copy-Paste в Excel.Application |
☑ |
0
slafor
20.08.20
✎
16:39
|
Надо первую строку файла Excel использовать в качестве шаблона при генерации других строк того же файла. Я пишу так:
Эксель.Workbooks.Open(ЭтотОбъект.ИмяФайла);
Эксель.DisplayAlerts = Ложь;
Лист = Эксель.Worksheets(1);
И далее:
НомерТекущейСтрокиЭксель = НомерТекущейСтрокиЭксель + 1;
Если НомерТекущейСтрокиЭксель <> НомерПервойСтрокиЭксель Тогда
Эксель.Rows(НомерПервойСтрокиЭксель).Select();
Эксель.Rows(НомерПервойСтрокиЭксель).Copy();
Эксель.Rows(НомерТекущейСтрокиЭксель).Insert(); КонецЕсли;
При этом используется буфер обмена? Что будет, если пользователь одновременно с этим захочет использовать буфер обмена для своих целей?
Можно ли как-то иначе скопировать строку для использования ее в качестве шаблона (с сохранением форматирования и т.д.)?
|
|
1
acht
20.08.20
✎
16:53
|
Поставь брякпоинт, проверь что в буфере, запусти второй сеанс.
Что ж ты такой неуверенный?
|
|
2
slafor
20.08.20
✎
17:07
|
(1) Там вообще интересная тема, даже без брякпойнта.
Работаю в удаленном сеансе по rdp, там крутится моя обработка. Которая использует буфер обмена.
А в основном сеансе я буфером воспользоваться уже не могу - копирую участок текста, а вставляется - строка из эксель-файла.
Может быть, есть другие способы скопировать строку эксель с сохранением форматирования, без использования копи-паста?
|
|
3
slafor
20.08.20
✎
17:08
|
В экселе он все копирует правильно.
|
|
4
acht
20.08.20
✎
17:17
|
(2) > другие способы скопировать строку
Range("B1").Interior.Color = Range("A1").Interior.Color
и т. п.
|
|
5
acht
20.08.20
✎
17:22
|
Или вот подсказывают:
Worksheets(2).Range("A1:B2").Value(xlRangeValueXMLSpreadsheet) = Worksheets(1).Range("A1:B2").Value(xlRangeValueXMLSpreadsheet)
|
|