powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скопировать формат Range (Excel) без сохрания связей с родителем?
1 сообщений из 1, страница 1 из 1
Как скопировать формат Range (Excel) без сохрания связей с родителем?
    #37454905
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

В файле-книге Excel есть строки, определенным образом отформатированные (заданы числовые форматы, фон заднего цвета ячеек и т.п.).

Код:
Код: plaintext
1.
2.
3.
4.
5.
 Worksheet wsHasStyle = app.Worksheets[FoundWorksheetIndex];
                RangeRowStyleFrom = wsHasStyle.Range["A" + FoundRowIndex.ToString(), "R" + FoundRowIndex.ToString()];                                
                wsHasStyle.Range["A" + FoundRowIndex.ToString(), "R" + FoundRowIndex.ToString()].Copy(Type.Missing);                
                RangeRowStyleFrom.PasteSpecial(XlPasteType.xlPasteFormats, XlPasteSpecialOperation.xlPasteSpecialOperationNone, Type.Missing, Type.Missing);

                app.CutCopyMode = XlCutCopyMode.xlCopy;

Необходимо, чтобы значение Range - "RangeRowStyleFrom", всегда было неизменным, чтобы при необходимости восстановить формат по-умолчанию (из заранее скопированного в эту переменную).

Далее по коду... есть методы, в которых размещен код, работающий с этим же диапазоном:

Код: plaintext
1.
2.
//Выделяем графически выделенную строку                
                ws.Range["A" + ActiveRowIndex.ToString(), "R" + ActiveRowIndex.ToString()].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);
                ws.Range["A" + ActiveRowIndex.ToString(), "R" + ActiveRowIndex.ToString()].Interior.Pattern  = Microsoft.Office.Interop.Excel.XlPattern.xlPatternSolid; 

Проблема в том, что изменив форматирование в вышеописанном диапазоне, оно меняется и в заранее сохранной переменной - "RangeRowStyleFrom". Получается ссылочная связь. Вопрос в том, как от нее избавиться?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скопировать формат Range (Excel) без сохрания связей с родителем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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