Форматированный текст перенести в excel
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Помогите кто знает или уже решил данный вопрос, смотрел по форуму ответа не нашел, если есть, укажите, буду благодарен.
Нужно, чтобы клиент сам набрал текст в одном поле файла (нужно форматированным только это поле), в одной строке размер и формат текста (обычный, жирный, курсив) может быть разный.
После чего данный текст с этого поля вывести в ячейку Excel.
Как или с помощью чего можно вывести (перенести) форматированный текст из clarion в Excel.
Нужно, чтобы клиент сам набрал текст в одном поле файла (нужно форматированным только это поле), в одной строке размер и формат текста (обычный, жирный, курсив) может быть разный.
После чего данный текст с этого поля вывести в ячейку Excel.
Как или с помощью чего можно вывести (перенести) форматированный текст из clarion в Excel.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- morkovin
- Ветеран
- Сообщения: 934
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Форматированный текст перенести в excel
Если использовать поле типа RichEditField, форматирование переносится в MSWord и далее из MSWord в Excel. Напрямую (минуя Ворд) форматирование не переносится - только текст. Надо разбираться, похоже без макросов не обойтисьgopstop2007 писал(а): 12 Май 2025, 18:39 Нужно, чтобы клиент сам набрал текст в одном поле файла (нужно форматированным только это поле), в одной строке размер и формат текста (обычный, жирный, курсив) может быть разный.
WBR, morkovin
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1411
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
Форматированный текст перенести в excel
libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
- morkovin
- Ветеран
- Сообщения: 934
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Форматированный текст перенести в excel
Может проще воспользоваться https://www.win2pdf.com/doc/command-lin ... -docx.html. И далее эту строку передать в ячейку Excel через проверенный SoftMasters?RaFaeL писал(а): 13 Май 2025, 19:40 libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
WBR, morkovin
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Спасибо. Пробовал, используя MSWord, текст форматирует только слова целиком, если используется в слове несколько шрифтов, например: (QWERTY) не форматируется, еще если есть перенос строки при последующем переносе в Excel, эта строка переносится на следующую ячейку.morkovin писал(а): 14 Май 2025, 11:27Может проще воспользоваться https://www.win2pdf.com/doc/command-lin ... -docx.html. И далее эту строку передать в ячейку Excel через проверенный SoftMasters?RaFaeL писал(а): 13 Май 2025, 19:40 libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
Последний раз редактировалось gopstop2007 15 Май 2025, 11:13, всего редактировалось 1 раз.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Мне нужно используя шаблон в Excel, заполнить его даннымиRaFaeL писал(а): 13 Май 2025, 19:40 libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Форматированный текст перенести в excel
OLE не годится?gopstop2007 писал(а): 15 Май 2025, 11:12Мне нужно используя шаблон в Excel, заполнить его даннымиRaFaeL писал(а): 13 Май 2025, 19:40 libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
С другой стороны вопрос - зачем шаблон, если форматирование ячеек всё равно зависит от пользователя?
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Одно поле в котором копируются например характеристики товаров:kreator писал(а): 15 Май 2025, 13:36OLE не годится?gopstop2007 писал(а): 15 Май 2025, 11:12Мне нужно используя шаблон в Excel, заполнить его даннымиRaFaeL писал(а): 13 Май 2025, 19:40 libxlsxwriter умеет писать форматированный текст в Excel. Но синтаксис отличен от RTF. Если напишите прокладку между форматами, которая будет форматировать одно в другое, то все возможно
С другой стороны вопрос - зачем шаблон, если форматирование ячеек всё равно зависит от пользователя?
Характеристики
Модель 9048
Размер - 220 235 см.
Вес - 2200 гр.
Плотность -480 гр./м 2
Тип ткани - микрофибра
Упаковка - сумка с ручками
Производитель - Китай
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Форматированный текст перенести в excel
Понятно. И всё же. OLE устраивает? Не знаете как отформатировать поле через OLE? Принцип такой. Кусок текста (с такого символа по такой) делается жирным (курсивом и т.д.). Посмотреть точнее - создать макрос. Могу у себя в анналах посмотреть, точно делал что-то подобное.
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Наверное да, надо посмотреть на результат. Огромное спасибо. )kreator писал(а): 15 Май 2025, 21:44 Понятно. И всё же. OLE устраивает? Не знаете как отформатировать поле через OLE? Принцип такой. Кусок текста (с такого символа по такой) делается жирным (курсивом и т.д.). Посмотреть точнее - создать макрос. Могу у себя в анналах посмотреть, точно делал что-то подобное.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Форматированный текст перенести в excel
Типа такого:
Это заголовок диаграммы. Просто текст в ячейке, наверно, не найду. Давно OLE не используется.
Код: Выделить всё
LOC:OLE{'ActiveChart.ChartTitle.Select'}
LOC:TempString = 'Статистика по категориям несоответствий' & '<13>Подразделение: ' & clip(LOC:Department3Name) & '<13>Категория: ' & clip(LOC:CategoriesQueue.LOC:CQCategoryName)
LOC:OLE{'ActiveChart.ChartTitle.Text'} = LOC:TempString
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters.Text'} = LOC:TempString
LOC:OLE{'Selection.Format.TextFrame2.TextRange.ParagraphFormat.TextDirection'} = 1 ! msoTextDirectionLeftToRight
LOC:OLE{'Selection.Format.TextFrame2.TextRange.ParagraphFormat.Alignment'} = 0 ! msoAlignLeft
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(41, 14).Font.Size'} = 12
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(41, 14).Font.Bold'} = 0
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(56, ' & len(clip(LOC:Department3Name)) & ').Font.Size'} = 14
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 1) & ', 10).Font.Size'} = 12
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 1) & ', 10).Font.Bold'} = 0
LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 12) & ', ' & len(clip(LOC:CategoriesQueue.LOC:CQCategoryName)) & ').Font.Size'} = 14
We are hard at work… for you. 

-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
Форматированный текст перенести в excel
Попробую, спасибо.kreator писал(а): 16 Май 2025, 21:58 Типа такого:Это заголовок диаграммы. Просто текст в ячейке, наверно, не найду. Давно OLE не используется.Код: Выделить всё
LOC:OLE{'ActiveChart.ChartTitle.Select'} LOC:TempString = 'Статистика по категориям несоответствий' & '<13>Подразделение: ' & clip(LOC:Department3Name) & '<13>Категория: ' & clip(LOC:CategoriesQueue.LOC:CQCategoryName) LOC:OLE{'ActiveChart.ChartTitle.Text'} = LOC:TempString LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters.Text'} = LOC:TempString LOC:OLE{'Selection.Format.TextFrame2.TextRange.ParagraphFormat.TextDirection'} = 1 ! msoTextDirectionLeftToRight LOC:OLE{'Selection.Format.TextFrame2.TextRange.ParagraphFormat.Alignment'} = 0 ! msoAlignLeft LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(41, 14).Font.Size'} = 12 LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(41, 14).Font.Bold'} = 0 LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(56, ' & len(clip(LOC:Department3Name)) & ').Font.Size'} = 14 LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 1) & ', 10).Font.Size'} = 12 LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 1) & ', 10).Font.Bold'} = 0 LOC:OLE{'Selection.Format.TextFrame2.TextRange.Characters(' & (56 + len(clip(LOC:Department3Name)) + 12) & ', ' & len(clip(LOC:CategoriesQueue.LOC:CQCategoryName)) & ').Font.Size'} = 14
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп