Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Excel / 25 сообщений из 54, страница 1 из 3
04.02.2005, 11:13
    #32900833
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Может кто сталкивался: мне надо вывести в Excel:
************
ОТЧЕТНОСТЬ №
НАЗВАНИЕ
И ЕЩЕ ЧЕГО НИБУДЬ
************
так как набрал пользователь с сохранением всех переносов. В FP перевод строки chr(13)+chr(10), но в Excel только chr(10). Я анализирую то, что набрал пользователь, удаляю chr(13) и посылаю в Excel(в одну ячейку, например 1,1). В данном случае получается
"ОТЧЕТНОСТЬ №"+chr(10)+"НАЗВАНИЕ"+chr(10)+"И ЕЩЕ ЧЕГО НИБУДЬ". А он рисует мне между словами квадраты. Стоит щелкнуть два раза на этой ячеке и все становится как надо. Что это такое и как бороться????
...
Рейтинг: 0 / 0
04.02.2005, 11:50
    #32900934
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
ПисАть в три ячейки
...
Рейтинг: 0 / 0
04.02.2005, 12:00
    #32900973
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Этот вариант не подходит!!!!!! Надо расположить в ячейке 1,1 ВЕСЬ текст!!!
...
Рейтинг: 0 / 0
04.02.2005, 12:08
    #32900996
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
А версия Excelя?
...
Рейтинг: 0 / 0
04.02.2005, 12:10
    #32901005
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
AleksMedА версия Excelя?
ХР
...
Рейтинг: 0 / 0
04.02.2005, 12:26
    #32901037
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Excel XP SP3 - без проблем.
...
Рейтинг: 0 / 0
04.02.2005, 12:40
    #32901075
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
AleksMedExcel XP SP3 - без проблем.
У нас SP1 :-( Надо искать выход :-(
...
Рейтинг: 0 / 0
04.02.2005, 12:42
    #32901080
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Попробуйте запатчить третьим.
...
Рейтинг: 0 / 0
04.02.2005, 12:51
    #32901115
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
AleksMedПопробуйте запатчить третьим.
Нету его :-( И скачивать из инета нельзя :-(
...
Рейтинг: 0 / 0
04.02.2005, 13:06
    #32901158
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Попробуй формируемую строку писать в FormulaR1C1
...
Рейтинг: 0 / 0
04.02.2005, 13:32
    #32901240
vlad_sv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Помочь трудно советом, т.к. nk_81 не до конца поясняет. Он в ячейку A(1,1) хочет ввести только "ОТЧЕТНОСТЬ № "+chr(10)+"НАЗВАНИЕ "+chr(10)+"И ЕЩЕ ЧЕГО НИБУДЬ". А дальше КАК отчет будет располагаться? И в скольких столбцах?
К чему я это. Я то же оформляю иногда свои отчеты в Excel-листах. И сначала оформляю весь отчет в соответствующих столбцах оставляя заголовок на потом. В конце формирования отчета формирую заголовок в первых строках типа A(1,1) = "..." . Затем объединяю ячейки A(1,1)-A(1,№) и центрирую.

А если просто хотеть что-то написать в ячейку A(1,1) и чтобы в этой ячейке действовал перенос по словам. То это и надо заказывать в свойствах ячейки.

Может я что-то не понял.
...
Рейтинг: 0 / 0
04.02.2005, 13:57
    #32901347
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
vlad_svПомочь трудно советом, т.к. nk_81 не до конца поясняет. Он в ячейку A(1,1) хочет ввести только "ОТЧЕТНОСТЬ № "+chr(10)+"НАЗВАНИЕ "+chr(10)+"И ЕЩЕ ЧЕГО НИБУДЬ". А дальше КАК отчет будет располагаться? И в скольких столбцах?
К чему я это. Я то же оформляю иногда свои отчеты в Excel-листах. И сначала оформляю весь отчет в соответствующих столбцах оставляя заголовок на потом. В конце формирования отчета формирую заголовок в первых строках типа A(1,1) = "..." . Затем объединяю ячейки A(1,1)-A(1,№) и центрирую.

А если просто хотеть что-то написать в ячейку A(1,1) и чтобы в этой ячейке действовал перенос по словам. То это и надо заказывать в свойствах ячейки.

Может я что-то не понял.
Мне надо записать этот текст именно в ячейку 1,1. ПЕРЕНОС ПО СЛОВАМ-это другое-разбиваются слова в зависимости от ширины ячейки! Эта настройка специально отключена!!! Мне надо просто поместить туда кусок текста!!!!
...
Рейтинг: 0 / 0
04.02.2005, 14:13
    #32901420
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Office 2K

Код: plaintext
1.
2.
3.
loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets( 1 ).Cells( 1 , 1 ).Value = 'Начало'+chr( 10 )+'Конец'
loExcel.Visible=.T.

Никаких проблем. Если перевод происходит только при получении ячейкой фокуса, то попробуй сделать это принудительно

loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Select()
...
Рейтинг: 0 / 0
04.02.2005, 14:35
    #32901482
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
угу никаких проблем
эт точно
а если так

loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало сеанса связи' +chr(10)+'Конец'
loExcel.Visible=.T.

проблем становиться больше
...
Рейтинг: 0 / 0
04.02.2005, 14:42
    #32901507
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
а так вообще песня

loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало сеанса связи'+chr(10)+'Конец'
loExcel.selection.WrapText = .f.
loExcel.Visible=.T.
...
Рейтинг: 0 / 0
04.02.2005, 15:29
    #32901668
nk_81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
ВладимирМOffice 2K

Код: plaintext
1.
2.
3.
loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets( 1 ).Cells( 1 , 1 ).Value = 'Начало'+chr( 10 )+'Конец'
loExcel.Visible=.T.

Никаких проблем. Если перевод происходит только при получении ячейкой фокуса, то попробуй сделать это принудительно

loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Select()
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало'+chr(10)+'Конец'
Все ОК, а если добавляю :
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1)..WrapText=.F.
опять 25-квадраты!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
04.02.2005, 15:35
    #32901690
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Так не надо WrapText=.F., как раз в этом случае chr(10) и будет в виде прямоугольника.
И сообще какие то непонятки пошли.
Изначально было с квадратами, а по коду Владимира Максимова - все нормально. Где то ты противоречишь себе.
...
Рейтинг: 0 / 0
04.02.2005, 15:41
    #32901713
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
самое простое писать в три разные ячейки одна под одной ,
а соседние ячейки в этом же ряду объединить по три в каждом столбце
хотя может кто что лучше скажет другого решения не нашел
...
Рейтинг: 0 / 0
04.02.2005, 15:41
    #32901716
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Решил и я попробовать - вопрос меня тоже интересует.

Так ват если в коде, который вы написали:
loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало сеанса связи'+chr(10)+'Конец'
loExcel.selection.WrapText = .f.
loExcel.Visible=.T.

Поменть местами две строки, т.е. сначала сделать
loExcel.selection.WrapText = .f.
а уж потом
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало сеанса связи'+chr(10)+'Конец'
То тогда точно песня, по-крайней мере у меня, а первый вариант, действительно выдает квадраты. Правда если ширина ячейки такова, что фраза "Начало сеанса связи" не вмещается, то естественно Excell и ее размещает в несколько строк, однако слово "Конец" в любом случае получается с начала строки.
...
Рейтинг: 0 / 0
04.02.2005, 15:45
    #32901732
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Уппс... извиняйте, перед WrapText надо еще добавить
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Select

Короче код должен быть таким:
loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Select
loExcel.selection.WrapText = .f.
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = "Начало сеанса связи"+chr(10)+"Конец"
loExcel.Visible=.T.
...
Рейтинг: 0 / 0
04.02.2005, 15:55
    #32901762
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
2 kms_

У тебя тоже XP SP1?
Ради интереса, после всего глянь свойства ячейки.
На XP SP3 для ячейки выставлен чекер перенос по словам, хотя мы его явно сбросили.
...
Рейтинг: 0 / 0
04.02.2005, 15:59
    #32901767
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
хотя это может быть решением
выбирам самую длинную строку а далее примерно так

loExcel = CreateObject('Excel.Application')
loExcel.Workbooks.Add
loExcel.selection.WrapText = .f.
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value ='Начало сеанса связи'
loExcel.Selection.Columns.AutoFit

loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value ='Начало сеанса связи'+chr(10)+'Конец'
loExcel.Visible=.T.
...
Рейтинг: 0 / 0
04.02.2005, 16:01
    #32901769
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Да, действительно, чекер стоит. Но это из за того что он вставляется автоматически при обработке Chr(10). Это тоже самое, как если вы прямо в Excell набирали с клавки "Начало сеанса связи", а потом бы нажали Alt+Enter и написали бы далее "Конец", тогда бы тоже в ячейке, которая до сих пор была с WrapText = .f. чекер поменялся бы на .t.

А офис у меня вообще 2003, и судя по всему это не от версии зависит.
...
Рейтинг: 0 / 0
04.02.2005, 16:09
    #32901790
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
2 kms_
Так вот и получается, что после этого

Код: plaintext
1.
2.
3.
4.
loXls=CREATEOBJECT("Excel.Application")
loXls.Workbooks.Add
loXls.ActiveWorkbook.Sheets( 1 ).Cells( 1 , 1 ).WrapText = .f.
loXls.ActiveWorkbook.Sheets( 1 ).Cells( 1 , 1 ).Value = "Начало сеанса связи"+chr( 10 )+"Конец"
loXls.Visible=.T.

Excel должен сам выставить для ячейки "перенос по словам", а у nk_81 похоже этого не происходит. Следовательно нужно выставить его принудительно.
...
Рейтинг: 0 / 0
04.02.2005, 16:15
    #32901805
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel
Ребяты, мы тут между собой устроили дебаты, а nk_81 молчит! Последнее что он написал:

loExcel.ActiveWorkbook.Sheets(1).Cells(1,1).Value = 'Начало'+chr(10)+'Конец'
Все ОК, а если добавляю :
loExcel.ActiveWorkbook.Sheets(1).Cells(1,1)..WrapText=.F.
опять 25-квадраты!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

А это, действительно, так, потому что он WrapText=.f. делает после того как присваивает значение ячейке, соответственно, снимает чекер и получает квадрат. А вот пусть он попробует сделать как писали в последних сообщениях и напишет нам получилось у него или нет. Я думаю, что должно получится.

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


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