Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ф-и Copy & Pos & Delete (Delphi) в VBA / 11 сообщений из 11, страница 1 из 1
20.06.2005, 10:41:54
    #33124145
_mmms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф-и Copy & Pos & Delete (Delphi) в VBA
Здравствуйте уважаемые форумчане!
Вопрос тут возник, столкнулся с строковыми операциями в 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
20.06.2005, 10:54:57
    #33124174
Ф-и Copy & Pos & Delete (Delphi) в VBA
_mmmsИ 2е, можно ли у объекта Range достучатся до хинта(подсказки) этой ячейки?

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

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

А что конкретно делают эти функции?
...
Рейтинг: 0 / 0
20.06.2005, 11:11:21
    #33124200
_mmms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф-и Copy & Pos & Delete (Delphi) в VBA
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
20.06.2005, 11:41:34
    #33124260
Ф-и Copy & Pos & Delete (Delphi) в VBA
Copy

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

Pos

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

Delete

Здесь сложнее.
Простыми не обойтись придется самому писать.
...
Рейтинг: 0 / 0
20.06.2005, 11:46:48
    #33124270
_mmms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф-и Copy & Pos & Delete (Delphi) в VBA
Пользователь2
Спасибо большое, теперь стало ясно, а как еще "докопаться" до хинтов ячеек в моем случае?
...
Рейтинг: 0 / 0
20.06.2005, 11:47:56
    #33124273
Ф-и Copy & Pos & Delete (Delphi) в VBA
_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
20.06.2005, 12:24:39
    #33124378
Ф-и Copy & Pos & Delete (Delphi) в VBA
По-поводу 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
20.06.2005, 13:58:27
    #33124623
_mmms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф-и Copy & Pos & Delete (Delphi) в VBA
Пользователь2
Благодарю за ответы :) Все дошло. :)
...
Рейтинг: 0 / 0
20.06.2005, 14:11:22
    #33124664
pashulka.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ф-и Copy & Pos & Delete (Delphi) в VBA
to _mmms
Если в ячейка не содержит примечание/комментарий, то strText = Range("A1").Comment.Text обязательно вызовет ошибку. Вариантов решения, как минимум несколько, а именно :
- Использовать On Error …
- Проверять содержит или нет ячейка примечание/комментарий
- Использовать strText = Range("A1").NoteText
Этот вариант ошибки не вызовет, но при его использовании необходимо помнить, что существует ограничение на количество символов (не более 255)

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


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