Координатное выделение 2

Автор Донченко Валерий, 6 августа 2015, 15:56

0 Пользователи и 1 гость просматривают эту тему.

Донченко Валерий

#15
Hasim, макрос нормально выполняет координатное выделение по щелчку кнопки мыши и нормально отрабатывает координатное выделение при "перемещении" активной ячейки стрелками на клавиатуре, после запуска Example_SelectionChangeListener. Но после прекращения работы, запуском Remove_Listener, последнее координатное выделение сохраняется. Можно ли устранить этот небольшой недостаток?

Hasim


Донченко Валерий

Цитата: Hasim от 17 августа 2015, 18:04Можно.
После использования макроса, при закрытии документа, появляется запрос на сохранение изменения документа. Про какие изменения идет речь, если работа макроса была завершена корректно и никаких видимых изменений в документе нет?

rami

Цитата: Донченко Валерий от 17 августа 2015, 19:53После использования макроса, при закрытии документа, появляется запрос на сохранение изменения документа. Про какие изменения идет речь, если работа макроса была завершена корректно и никаких видимых изменений в документе нет?
Изменения — это раскрашивание и перекрашивание ячеек. Речь идёт о промежуточных изменениях, которые в конечном итоге ничего не меняют, можете их сохранять, или не сохранять, как удобно.

Донченко Валерий

#19
Цитата: rami от 17 августа 2015, 21:40Изменения — это раскрашивание и перекрашивание ячеек. Речь идёт о промежуточных изменениях, которые в конечном итоге ничего не меняют, можете их сохранять, или не сохранять, как удобно.
А каким образом окрашиваются ячейки, если выделяется столбец или строка нажатием на буквенное или цифровое обозначение, ведь после этих действий никаких изменений в документе не происходит? Может для макроса позаимствовать такой способ окрашивания?

rami

Цитата: Донченко Валерий от 18 августа 2015, 08:53А каким образом окрашиваются ячейки, если выделяется столбец или строка нажатием на буквенное и цифровое обозначение, ведь после этих действий никаких изменений в документе не происходит? Может для макроса позаимствовать такой способ окрашивания?
В этом случае ячейки не раскрашиваются, а подсвечиваются выделенные ячейки (это тот вариант, который я предложил вначале). При подсветке нет никаких изменений в документе, а при раскрашивании есть.

Донченко Валерий

Цитата: rami от 18 августа 2015, 10:35В этом случае ячейки не раскрашиваются, а подсвечиваются выделенные ячейки (это тот вариант, который я предложил вначале). При подсветке нет никаких изменений в документе, а при раскрашивании есть.
А совместить варианты не получится?

Донченко Валерий

Имеет ли смысл код?

Private Sub CurrentController.setThisComponent.CurrentController.ActiveSheet(vSheet);ionChange(ByVal Target As Dim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1))
Dim WorkDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1) As Dim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)
Dim wi As Window
Set wi = ActiveWindow
If Target.Cells.Count > 1 Then Exit Sub
ThisComponent.LockControllers
Set WorkDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1) = wi.VisibleDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)
Intersect(WorkDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ThisComponent.CurrentController.ActiveSheet[n]ThisComponent.CurrentController.select(oSheet.getCellDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)ByName(, Target.EntireRow)))
Intersect(WorkDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ThisComponent.CurrentController.ActiveSheet[n]ThisComponent.CurrentController.select(oSheet.getCellDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)ByName(, Union(Target.EntireRow, Target.EntireColumn))))
Target.Activate
End Sub

rami

Цитата: Донченко Валерий от  3 сентября 2015, 05:53Имеет ли смысл код?
Для дезинформации врага — имеет смысл 8-). Какой-то в кучу сваленный код.

Донченко Валерий

Это я попробовал, как работает онлайн-переводчик  ;D

Сигма

Огромное спасибо, давно искал такую штуку. Большая просьба, напишите в какой строке кода можно изменить цвет подсвечивания - цвет по умолчанию немного не устраивает.

rami

Цитата: Сигма от 13 февраля 2017, 12:27Большая просьба, напишите в какой строке кода можно изменить цвет подсвечивания - цвет по умолчанию немного не устраивает.
О каком варианте речь? Как называется макрос и в каком ответе или документе его искать?

Сигма

#27
Сейчас попробовал все варианты. Мне нужен такой, который не перекрашивает заливку и более того, если активная ячейка заливается, цвет этой заливки не должен пропадать (и конечно, есть возможность редактирования, изменения цвета текста и пр.). Насколько я понимаю, ближе всего к этому последний выложенный Вами вариант (только в нем не сохраняется вновь сделанная заливка). В его коде и хотелось бы узнать, где задается цвет подсветки. С цветом подсветки разобрался. И еще... если можно, подскажите как импортировать макрос в другой документ... тупо скопировал его текст, до сохранения работает, после сохранения, закрытия и открытия последние ячейки залиты цветом подсветки.

economist

Сигма - макросы сохраняются в формате ODS.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...