powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ф-и Copy & Pos & Delete (Delphi) в VBA
11 сообщений из 11, страница 1 из 1
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124145
_mmms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые форумчане!
Вопрос тут возник, столкнулся с строковыми операциями в VBA, перечитал весь help ихний, по строкам, в упор не могу заметить ф-й по работе со строками, таких как в Delphi например Copy & Pos & Delete (могу и Perl/PHP аналогичные написать, но наверное понятно какие..)
И 2е, можно ли у объекта Range достучатся до хинта(подсказки) этой ячейки? Т.е. обращаюсь к значению например так
Код: plaintext
1.
2.
3.
4.
5.
Set r = Range("A1:I36")
'..цикл..по диапазону..
'..и пишем в текстовый файл значение ячейки
ts.writeline r.Cells(j, i)

'.. а вот тут хотелось бы "достучатся" до хинта ячейки..

Помогите!
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124174
_mmmsИ 2е, можно ли у объекта Range достучатся до хинта(подсказки) этой ячейки?

Т.е. ты имеешь ввиду примечание?

Код: plaintext
Range("D8").Comment.Text
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124190
_mmmsтаких как в Delphi например Copy & Pos & Delete

А что конкретно делают эти функции?
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124200
_mmms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s - string;
например:
s = Range(r.Cells(j, i)).Comment.Text
Выдает ошибку..
s = Range(j, i).Comment.Text
Тоже...

Copy - копирует из строки часть строки (например с 0 по 10 символ)
Pos - находит позицию символа например & в строке 'йцукен&гун' - ответ 7я позиция
Delete (s,10) - удаляет 10 символов из строки S.

...
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124260
Copy

Код: plaintext
1.
?Mid("йцукен&гун", 1 , 5 )
йцуке

Pos

Код: plaintext
1.
?InStr("йцукен&гун","&")
  7  

Delete

Здесь сложнее.
Простыми не обойтись придется самому писать.
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124270
_mmms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователь2
Спасибо большое, теперь стало ясно, а как еще "докопаться" до хинтов ячеек в моем случае?
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124273
_mmmss - string;
например:
s = Range(r.Cells(j, i)).Comment.Text
Выдает ошибку..
s = Range(j, i).Comment.Text
Тоже...


Так попробуй:

Код: plaintext
1.
2.
3.
4.
5.
    Dim strText As String

    'strText = Range("A1").Comment.Text
    strText = Cells( 1 ,  1 ).Comment.Text
    
    MsgBox strText
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124378
По-поводу Delete

Есть еще функция Replace

Код: plaintext
1.
?Replace("йцукен&гун","н","", 1 , 1 )
йцуке&гун

Вот еще набросал.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub TestX()
    Dim strText As String
    Dim strLetter As String
    Dim strTemp As String
    Dim i As Integer
    
    i = InputBox("Введите позицию символа")
    
    strText = "This is the test"
    
    strLetter = Mid(strText, i,  1 )
    
    'MsgBox strLetter
    
    strTemp = Replace(strText, strLetter, "", i,  1 )
    
    strText = Left(strText, i -  1 ) & strTemp
    
    MsgBox strText
End Sub
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124623
_mmms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователь2
Благодарю за ответы :) Все дошло. :)
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124664
pashulka.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to _mmms
Если в ячейка не содержит примечание/комментарий, то strText = Range("A1").Comment.Text обязательно вызовет ошибку. Вариантов решения, как минимум несколько, а именно :
- Использовать On Error …
- Проверять содержит или нет ячейка примечание/комментарий
- Использовать strText = Range("A1").NoteText
Этот вариант ошибки не вызовет, но при его использовании необходимо помнить, что существует ограничение на количество символов (не более 255)

P.S. Будем надеяться, что всё это я писал не зря ...
...
Рейтинг: 0 / 0
Ф-и Copy & Pos & Delete (Delphi) в VBA
    #33124811
Про то, что ячейки могут быть и без комментариев, pashulka. , хорошо дополнил.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ф-и Copy & Pos & Delete (Delphi) в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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