![]() |
|
Модераторы: mihanik |
![]()
|
|
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Подскажите пожалуйста, такая ситуация: когда например вводишь в notepad подобного рода текст:
1-->2-->3 4-->5-->6 7-->8-->9 (-->) это знаки табуляции Копируешь его и вставляешь в Excel циферки удобненько располагаются в отдельных ячейках. Существует ли способ через VBA вставить в Excel такого же рода строку: "1" & chr(9) & "2" & chr(9) & "3" & chr(10) &_ "4" & chr(9) & "5" & chr(9) & "6" & chr(10) &_ "7" & chr(9) & "8" & chr(9) & "9" и чтобы произошло тоже самое. Через ActiveSell.FormulaR1C1 когда вставляешь всё затрамбовывается в одну ячейку. Получается трёхстрочный текст и вопросики в квадратике вместо знаков табуляции. Только мне надо способ без буфера обмена какой-нибудь --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
А как была получена "такого рода строка"?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Чиво ?
ActiveSell.FormulaR1C1 = "1" & chr(9) & "2" & chr(9) & "3" & chr(10) & "4" & chr(9) & "5" & chr(9) & "6" & chr(10) & "7" & chr(9) & "8" & chr(9) & "9" chr(9) - TAB chr(10) - Enter при вставке табы Excel воспринимает как переход на ячейку влево, а энтеры на строку вниз... --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Без буфера обмена - только парсить ручками... Посимвольно, в цикле... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Глупый Excel
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Plavozont, забыл, есть функция "текст по столбцам" (меню "Данные"). Но по строкам придется самостоятельно...
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
А как через VBA его вставить !!!
Это сообщение отредактировал(а) Plavozont - 3.9.2009, 16:44 --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Загнать в массив и использовать Application.Transpose
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Обязятельно прверю, как выпаду в осадок, сообщу !
Это сообщение отредактировал(а) Plavozont - 3.9.2009, 20:52 --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Ну вот, это не то Application.Transpose из Excel'я в массив загоняет, а мне бы из массива в Excel'ь
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Нет. Он и вправду загоняет в массив (из Range или другого массива). Но есть одна приятность - полученный таким образом массив пригоден для прямого присвоения в Range. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Ответ супер! Я и не знал что Range'у можно массивы присваивать ! Это то то что мне нужно и было бы, только вот из javascript'а массив присвоить к Excel'евскому Range'у врядли возможно :( Пока только из буфера обмена вставлять.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Это ещё почему? Excel.Application не зависит от языка программирования, и ему сиренево кто им рулит. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Просто в javascript'е очень экзотично массивы структурируются. Если в VBA двухмерный массив - это и есть двухмерный массив и обращаться к нему можно только так: arr(m,n), то в JavaScript двухмерный массив - это одномерный массив одномерных массивов. Т.е. сначала создаётся одномерный массив arr1D[m] а потом каждый элемент этого массива декларируется как одномерный массив, т.е. arr1D[0]=Array[n], arr1D[1]=Array[n], arr1D[2]=Array[n], ... arr1D[m]=Array[n]. И обращение к такому массиву происходит так: arr1D[m][n] а не arr1D[m, n] как могло бы показаться. Т.е. в JavaScript'е таким образом можно хоть пятисот мерный массив создать. Естественно, что Excel'ю от такой структуры башню сносит и ничего у него не получается.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Plavozont, двухмерный массив - это всегда одномерный массив одномерных массивов, хотя бы потому, что адресация памяти линейна. И пятисотмерный массив можно не только в javascript'e создать. Вот тут в третьем посте сверху есть делфийский код, как сделать быстрый экспорт в Excel сразу куском массива. У меня этот код работает давно, быстро и качественно. Попробуйте на js перевести, вдруг получится.
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |