Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

16 Июнь 2019, 10:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 5 6 7 8 »   Вниз
  Печать  
Автор Тема: Выполнить поиск на странице макросом  (Прочитано 13760 раз)
0 Пользователей и 1 Гость смотрят эту тему.
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #75: 6 Март 2018, 16:52 »

    Сейчас делаю макрос для другого файла. Там лист один, но найтись в нём искомое может несколько раз. Как записать цикл, чтобы макрос обрабатывал (обработку я сам напишу) по очереди каждое найденное искомое?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #76: 6 Март 2018, 16:58 »

в этой теме был уже
Код:
For j=0 to oFind.Count-1
If oFind.getByIndex(j).getRows().IsVisible=False then
Print "Документ не найден"
Exit Sub
End If
Next j
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #77: 6 Март 2018, 17:17 »

   Большущее спасибо.
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #78: 6 Март 2018, 17:54 »

А как использовать этот j, чтобы обратиться к значению ячейки найденного? Ну то есть что-то типа oSheet.getCellByPosition (k+9, r) для каждого найденного?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #79: 6 Март 2018, 19:34 »

А как использовать этот j, чтобы обратиться к значению ячейки найденного
в данном случае не знаю, но есть другой вариант, тоже из начала темы:
Код:
For j=0 To oFind.count-1
msgbox "Столбец: " & oFind.RangeAddresses(j).StartColumn & " Строка: " & oFind.RangeAddresses(j).StartRow
Next
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #80: 7 Март 2018, 10:18 »

но есть другой вариант, тоже из начала темы:
Огромнейшее-приогромнейшее спасибо.
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #81: 7 Март 2018, 11:05 »

    Появился новый вопрос.
    Я использовал Ваш пример кода и сделал обработку. Но мне надо сделать так: при первом найдении - мо обработка в виде InputBox с комментарием к найденному. Для последующих "найдений" этого искомого мне нужно, чтобы макрос автоматически вписывал тот комментарий, который я задал в InputBox для первого искомого. То есть при первом нахождении искомого макрос меня спрашивает (реализовано через InputBox), какой комментарий ввести, а для последующих нахождений этого же искомого - уже автоматически ставит комментарий, введённый мной для первого нахождения? Как такое записать? Помогите, пожалуйста.
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #82: 7 Март 2018, 11:18 »

первое вхождение это j=0 Улыбка , т.е. если j=0 то спрашиваем комментарий, иначе вставляем готовый
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #83: 7 Март 2018, 11:33 »

первое вхождение это j=0
То есть надо как-то так:
Код:
If j=0 Then наша обработка
?
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #84: 7 Март 2018, 11:35 »

иначе вставляем готовый
А как ему прописать, что готовый - тот который спросили при j=0?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #85: 7 Март 2018, 11:43 »

ну ты когда спрашивал присвоил ответ какой-то переменной, вот потом и вставляй эту переменную куда хочешь
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #86: 7 Март 2018, 11:47 »

То есть надо как-то так:
я не знаю что у тебя за обработка, исходя из предыдущего вопроса надо так
if j=0 then
sInp=inputbox(......введите что-то)
вставляем sInp куда то
...
else
вставляем sInp куда то
end if
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #87: 7 Март 2018, 11:50 »

ну ты когда спрашивал присвоил ответ какой-то переменной
Нет. Я задаю InputBox так:
Код:
a=InputBox("Что ищем", "Искомое")
Дальше присвоил ячейке значение этого InputBox так:
Код:
oSheet.getCellByPosition (k+10, r).String=a
А как теперь сделать, чтобы при j>0 не вылезал InputBox, а автоматически его значение проставлялось в ячейку? Причём для всех последующих j?
Так что ли:
Код:
If j>0 Then oSheet.getCellByPosition (k+10, r).String=a
?
« Последнее редактирование: 7 Март 2018, 11:52 от OOKapitan » Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #88: 7 Март 2018, 11:57 »

Издеваешься Улыбка
Ты с английским дружишь, переведи

if .... then

else

end if
Записан
OOKapitan
Форумчанин
***
Offline Offline

Сообщений: 458


« Ответ #89: 7 Март 2018, 12:44 »

Ты с английским дружишь, переведи
Я это знаю. Просто не мог допереть, что
Код:
oSheet.getCellByPosition (k+10, r).String=a
нужно продублировать в этом If.
Огромнейшее спасибо.
Записан
Страниц: « 1 2 3 4 5 6 7 8 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!