Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Внедрение ActiveX элемента HTML/JAVASCRIPT. Как изменить цвет ActiveX элемента на странице Здравствуйте! Передо мной стоит такая задача: 1. Внедрить ActiveX элемент в HTML документ 2. С помощью скрипта в HTML документе создать кнопку, при нажатии на которую будет менять цвет ActiveX... https://www.cyberforum.ru/ c-cpp/ thread1998789.html Мутная тема с известным устройством с неизвестными параметрами по COM порту C/C++
Мутная тема с устройством по COM порту У меня есть устройство которое не как не хочет со мной общаться, ненавесть на всю жизнь кажись) это GSM модуль который подключается к СОМ порту. Он мне шлет... Он мне шлет всякий мусор при включении 99%, что неправильно выбрана скорость порта и/или конфигурация стартовых/стоповых битов. Может кто то подсказать как определить на каких параметрах работает...
C/C++ Работа с функцией ReadFile Доброго времени. При работе с COM-портом в синхронном режиме возникают проблемы с выходом из функции ReadFile(). В примере кода идет опрос порта в бесконечном цикле. Вопрос: какими способами из него... Манипуляции с условиями, связанными с iSize не дают толку. Почему? Вроде логично: while (!kbhit()){ ReadFile(hSerial, &sReceivedChar, 1, &iSize, 0); // получаем 1 байт if... https://www.cyberforum.ru/ c-cpp/ thread2026784.html C/C++ Экспорт dll (из с++) в с# Подскажите, как нужно декларировать функционал в с++ коде (в dll) чтобы я её в C# коде мог вызвать, как вызываю стандартные методы WinApi К примеру: public static extern Int32 FindWindow(String... https://www.cyberforum.ru/csharp-beginners/thread1728295.html#post9111008 На сайте pinvoke.net можете сравнить WinAPI и DllImport. https://www.cyberforum.ru/ c-cpp/ thread1981396.html
C/C++ Разработать процедуру для построения в документе Word Разработать процедуру для построения в документе Word фрактальные изображения: пыль Кантора, кривая Коха, треугольник Серпинского https://www.cyberforum.ru/ c-cpp/ thread1989100.html MSWord - графический фильтр для CGM-файлов C/C++
Как можно определить с помощью OLE установлен ли в Office компонент для работы с графическими файлами (в том числе и метафайлами). В программе используется вставка в Word довольно редкого для Windows... dub001, может просто поймать исключение и вывести сообщение?
C/C++ Запись с Edit в документ Excel https://www.cyberforum.ru/ c-cpp/ thread2004549.html
Помогите пожалуйста сделать запись в Exel. Использую C++ builder XE8. При этом коде выдает ошибку неверный тип переменной. Variant Ap,Bs,Cll,Bk,Ex,Excel,vVarApp,ws,Sht,Sh;... А в какой строке выдаёт ашыпку?
C/C++ Как использовать в коде C++ объекты Excel из библиотеки Microsoft.Office.Tools.Excel.dll?
Использую Visual Studio Community 2015. Файл Microsoft.Office.Tools.Excel.dll легко подключается к проектам на С# и даёт использовать объекты Excel. Но как подключить эту dll к проекту C++? ...
Посоветуйте книги про COM C/C++
Друзья здравствуйте, Есть большое желание разобраться с COM, с какой книги начать изучение данной технологиии и что читать дальше? Спасибо. В архиве книг по плюсам (с торента когда-то стянул) нашёл книгу "Сущность технологии COM" от 2001 года, собственно её и читал. Вот первый результат запроса - тыц
C/C++ Регистрация DLL не работает в win64 Задача следующая. Написал библиотеку, реализующую простой OLE интерфейс. Сделал через ATL. Среда Visual Studio 2015 pro. Операционка Windows 7 32 бита. Проблема в следующем - не могу... А может быть, у твоей dll зависимость от других dll, которых нет на целевых системах? В любом случае, все это - гадание на кофейной гуще. Без самой dll или кода регистрации вряд ли можно что-то... https://www.cyberforum.ru/ c-cpp/ thread1993426.html
C/C++ Как работать с HRESULT? https://www.cyberforum.ru/ c-cpp/ thread2010074.html
Сначала в книге было написано коды возврата E_NOINTERFACE,S_OK и т.п. Теперь более сложный метод - MAKE_HRESULT(sev,fac,code). Как раскрыть второе и во что тогда раскрывается первое в таком случае?... В большинстве случаев тебе нужно использовать стандартные коды ошибок HRESULT - S_OK, E_INVALIDARG, E_OUTOFMEMORY, E_NOINTERFACE и т.д. Это то, что ожидает клиентский код. А MAKE_HRESULT - это для...
C/C++ Циклическое чтение информации через RS232 с использованием goto Всем доброго времени суток! Перейду сразу к делу, есть два фотоприемника (ФП), которые считывают данные при засветки их лазером. Оба ФП подключены к блоку управления, тот в свою очередь... Добавлю к комментариям которые показывают с какой строки ошибка: //Ошибка в том что с данной строки цикл должен повторятся и привязываться к тому что условие выполнения цикла //это то что в... https://www.cyberforum.ru/ c-cpp/ thread1980280.html
236 / 28 / 18
Регистрация: 08.05.2011
Сообщений: 185
28.09.2017, 09:37  [ТС] 0

Из StringGrid в Word по шаблону - C/C++ - Ответ 10785939

28.09.2017, 09:37. Показов 1992. Ответов 2
Метки (Все метки)

Ответ

Проблему решил написав макрос VBA и запуская его из под с++
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub MacOfSet()
Application.ScreenUpdating = False
Dim Tbl As Table, cel As Cell, i As Long, n As Long, fEmpty As Boolean
With ActiveDocument
For Each Tbl In .Tables
n = Tbl.Columns.Count
For i = n To 1 Step -1
fEmpty = True
For Each cel In Tbl.Columns(i).Cells
If Len(cel.Range.Text) > 2 Then
fEmpty = False
Exit For
End If
Next cel
If fEmpty = True Then Tbl.Columns(i).Delete
Next i
Next Tbl
End With
With ActiveDocument
For Each Tbl In .Tables
n = Tbl.Rows.Count
For i = n To 1 Step -1
fEmpty = True
For Each cel In Tbl.Rows(i).Cells
If Len(cel.Range.Text) > 2 Then
fEmpty = False
Exit For
End If
Next cel
If fEmpty = True Then Tbl.Rows(i).Delete
Next i
Next Tbl
End With
Set cel = Nothing: Set Tbl = Nothing
Application.ScreenUpdating = True
End Sub


Запускаю из под с++ после заполнения данными вот так:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
void __fastcall TForm5::Button2Click(TObject *Sender)
{
bool DontOverwrite = true;
 Variant v2,v1, vApp, vDocs, vDoc, vSelection;
String vAsCurDir=GetCurrentDir();
String  path1 = vAsCurDir+"\\shablon\\BI_new.doc" ;    // файл шаблона
String  path2 = vAsCurDir+"\\directum\\BI.doc" ;   // куда будем сохранять результат
CopyFile(path1.c_str(),path2.c_str(),DontOverwrite);
String  imns = "imns";
String InsertText = "text";
 
String  fio = "fio";
String InsertText2 = "text";
 
String  stryk = "stryk";
String InsertText3 = "text";
 
String  ip = "ip";
String InsertText4 = "text";
 
String  tel = "tel";
String InsertText5 = "text";
 
  vVarApp = CreateOleObject("Word.Application");
  vVarApp.OlePropertySet("Visible", false);
  vVarDocs = vVarApp.OlePropertyGet("Documents");
  vVarDocs.OleProcedure("Open", StringToOleStr(path2));
  vVarDoc = vVarDocs.OleFunction("Item", 1);
  vVarDoc.OleProcedure("Activate");
  v1 = vVarDoc.OlePropertyGet("Bookmarks");
 
    // заполняем данными в закладки
    for (int j=1;j<=(Form3->StringGrid1->RowCount);j++)
{         imns = "imns";
 imns=imns+j;
 
fio = "fio";
fio = fio+j;
 
stryk = "stryk";
stryk = stryk+j;
 
ip = "ip";
ip = ip+j;
 
tel = "tel";
tel = tel+j;
 
      InsertText=Form3->StringGrid1->Cells[0][j];
    v2 = v1.OleFunction("Item", StringToOleStr(imns));
  v2.OlePropertyGet("Range").OlePropertySet("Text", StringToOleStr(InsertText));
 
      InsertText2=Form3->StringGrid1->Cells[1][j];
    v2 = v1.OleFunction("Item", StringToOleStr(fio));
  v2.OlePropertyGet("Range").OlePropertySet("Text", StringToOleStr(InsertText2));
 
      InsertText3=Form3->StringGrid1->Cells[2][j];
    v2 = v1.OleFunction("Item", StringToOleStr(stryk));
  v2.OlePropertyGet("Range").OlePropertySet("Text", StringToOleStr(InsertText3));
 
      InsertText4=Form3->StringGrid1->Cells[4][j];
    v2 = v1.OleFunction("Item", StringToOleStr(ip));
  v2.OlePropertyGet("Range").OlePropertySet("Text", StringToOleStr(InsertText4));
 
      InsertText5=Form3->StringGrid1->Cells[5][j];
    v2 = v1.OleFunction("Item", StringToOleStr(tel));
  v2.OlePropertyGet("Range").OlePropertySet("Text", StringToOleStr(InsertText5));
}
        
 
 
 
 //запуск макроса
WideString macr("MacOfSet");
        vVarApp.OleProcedure("Run",macr);
 
 
 
 
 
  // сохраняем и закрываем документ
     vVarDocs.OleProcedure("Save");
    vVarApp.OleProcedure("Quit");
    ShowMessage("Данные экспортированы в WORD");
}


Вернуться к обсуждению:
Из StringGrid в Word по шаблону C/C++
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2017, 09:37
Готовые ответы и решения:

Из StringGrid в Excel по шаблону
Здравствуйте! Подскажите пожалуйста, как реализовать такое: Есть файл шаблона Excel (1.xls). В нем есть текст сверху и снизу. В...

Вывод в StringGrid из Word, а из StringGrid в круговую диаграмму
Изначально необходимо с первой формы из нескольких компонентов(эдиты, комбобоксы и дататайм) собрать данные и вывести в строку вордовского...

Создать документ Word по шаблону?
Если просто создавать документ, то все создается без проблем. MSWORD.Documents.Add; Но если пытаюсь создать документ по шаблону, то...

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.09.2017, 09:37
Помогаю со студенческими работами здесь

Замена слов по шаблону Word (C#)
Всем добрый вечер! Помогите плз. Есть Ворд файл: Спарвка1.doc. В нем расставлены метки, например {name},{lastname}, нужно открыть его...

Отчет в Word по готовому шаблону
Здравствуйте! Помогите, пожалуйста, новичку разобраться. Необходимо полученные из БД данные вывести в Word. Создал шаблон dot с закладками....

Создание документа Word по шаблону
Добрый день! Подскажите, как сделать такой макрос. Нужно составить отчет в Word на основе данных из текстового документа (получен в...

Создание документа Word по шаблону из Excel
Пытаюсь создать документ Word из шаблона. Необходимо в шаблон добавить текст. Добавляю но шаблон разрушается. Прошу помощи, что не так???

Создание документа word по шаблону vb basic
Для работы разрабатываю програмку для быстрой печати заявок в ворде на перевозку груза. Кодировать пока только учусь, не судите строго....

0
Новые блоги и статьи
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
Apache Airflow для оркестрации и автоматизации рабочих процессов
Mr. Docker 16.03.2025
Управление сложными рабочими процессами — одна из главных головных болей инженеров данных и DevOps-специалистов. Представьте себе: каждый день нужно запускать десятки скриптов в определенной. . .
Оптимизация приложений Java для ARM
Javaican 16.03.2025
ARM-архитектура переживает настоящий бум популярности в технологическом мире. Когда-то воспринимаемая исключительно как решение для мобильных устройств и встраиваемых систем, сегодня она штурмует. . .
Управление состоянием в Vue 3 с Pinia и Composition API
Reangularity 16.03.2025
Когда я начал работать с Vue несколько лет назад, мне казалось достаточным использовать простую передачу данных через props и события между компонентами. Однако уже на среднем по сложности проекте. . .
Введение в DevSecOps: основные принципы и инструменты
Mr. Docker 16.03.2025
DevSecOps - это подход к разработке программного обеспечения, который объединяет в себе принципы разработки (Dev), безопасности (Sec) и эксплуатации (Ops). Суть подхода заключается в том, чтобы. . .
GitHub Actions vs Jenkins: Сравнение инструментов CI/CD
Mr. Docker 16.03.2025
В этой битве за эффективность и скорость выпуска программных продуктов ключевую роль играют специализированные инструменты. Два гиганта в этой области — GitHub Actions и Jenkins — предлагают разные. . .
Реактивное программировани­е с Kafka Stream и Spring WebFlux
Javaican 16.03.2025
Реактивное программирование – это программная парадигма, ориентированная на потоки данных и распространение изменений. Она позволяет выражать статические или динамические потоки данных и. . .
Простая нейросеть на КуМир: Учебное пособие по созданию и обучению нейронных сетей
EggHead 16.03.2025
Искусственные нейронные сети — удивительная технология, позволяющая компьютерам имитировать работу человеческого мозга. Если вы хотя бы немного интересуетесь современными технологиями, то наверняка. . .
Исполнитель Кузнечик в КуМир: Решение задач
EggHead 16.03.2025
Среди множества исполнителей в системе КуМир особое место занимает Кузнечик — простой, но невероятно полезный виртуальный персонаж, который перемещается по числовой прямой, выполняя ваши команды. На. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru