Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передача текста в другое приложение / 3 сообщений из 3, страница 1 из 1
22.06.2011, 09:35
    #37319325
Передача текста в другое приложение
Всем, прива:) Народ, хелп плиз. Возникла необходимость передать текст из Excel в досовскую прогрумму.

Делаю так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SchPoluch = ""
                Summa = ""
                  SchPlat = Cells(J,  4 ) 
                  SchPoluch = Cells(J,  5 ) 
                  Summa = Replace(Format(Cells(J,  6 ), "###0.00"), ",", ".") 
            
          
                  Dedication = Mid(Trim(Cells(J,  8 )),  1 ,  100 ) 
          
            
                .SendKeys SchPlat, False
                .SendKeys "{TAB}", False
                .SendKeys "{TAB}", False
               .SendKeys "{TAB}", False
                .SendKeys SchPoluch, False
                .SendKeys "{TAB}", False
                .SendKeys "{TAB}", False
                .SendKeys "{TAB}", False
                .SendKeys Summa, False
                .SendKeys "{TAB}", False
        .SendKeys Dedication , False

Текст передается, но вот в чем проблема: если текст в переменной Dedication на русском языке, то в приложение вставлются символы соответствующие коду символа на 106 меньше, т.е. если передается символ "К" с кодом 138, то в приложении выводится символ "R" с кодом 82, а необходимо что бы был символ "К"
...
Рейтинг: 0 / 0
22.06.2011, 09:40
    #37319344
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача текста в другое приложение
недочеловек,

Может надо предварительно сконвертировать СР1251 в СР866?
...
Рейтинг: 0 / 0
22.06.2011, 14:49
    #37320106
Передача текста в другое приложение
попробовал
Код: plaintext
1.
2.
3.
4.
5.
6.
Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Function Win2Dos(ByVal sWin As String) As String
  Win2Dos = String(Len(sWin), Chr( 0 ))
  Call CharToOem(sWin, Win2Dos)
  
End Function

Результат, аналогичный.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передача текста в другое приложение / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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