Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Mihay
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 13

Как задать ширину столбцов таблиц в MS Word?

05.04.2012, 09:58. Показов 2812. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Создаю отчет из SQL-запроса в таблицу MS Word на C++ Builder-е. Ниже приведен часть кода, где создается таблица и заполняется данными. Но одно не нравиться, что ширина всех столбцов таблицы одинакова. Как изменить ширину? Что надо добавить в код ниже, чтоб изменить ширину, например, 1-го столбца? Информации в форумах при таком создании таблицы (код ниже) практически нет!
Заранее благодарю.

код:

AnsiString templateName = ExtractFilePath(Application->ExeName)+ "Отчет.doc";
Variant Word = CreateOleObject("Word.Application");

Word.OlePropertySet("Visible", true);

Variant Doc = Word.OlePropertyGet("Documents").OleFunc tion("Add");
Variant Selection = Word.OlePropertyGet("Selection");

String Invoice = "Все приборы, удовлетворяющие условию: "+Bort+" = "+ComboBort->Text;
Selection.OleProcedure("TypeText", Invoice.c_str());
Selection.OlePropertyGet("ParagraphForma t").OlePropertySet("Alignment", 1);

Selection.OleProcedure("TypeParagraph");
Variant Range = Selection.OlePropertyGet("Range");
Variant Tables= Doc.OlePropertyGet("Tables").OleFunction ("Add",Range,1,5,1,0);

//TableColumnSeparators.
Selection.OleProcedure("TypeText", "¹");
Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", Num_Prib.c_str());
Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", Name_Prib.c_str());
Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", System_Prin.c_str());
Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", Num_Otsek.c_str());
Selection.OleProcedure("MoveRight");
int i = 0;
String NN;
String NP;
String NNP;
String SP;
String NO;

ADOQueryDB->First();
while(!ADOQueryDB->Eof)
{
i++;
NN = IntToStr(i);
NP = ADOQueryDB->FieldByName(Num_Prib)->AsString;
NNP = ADOQueryDB->FieldByName(Name_Prib)->AsString;
SP = ADOQueryDB->FieldByName(System_Prin)->AsString;
NO = ADOQueryDB->FieldByName(Num_Otsek)->AsString;

Selection.OleProcedure("InsertRowsBelow" );

Selection.OleProcedure("MoveLeft");
Selection.OleProcedure("TypeText", NN.c_str());

Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", NP.c_str());

Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", NNP.c_str());

Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", SP.c_str());

Selection.OleProcedure("MoveRight");
Selection.OleProcedure("TypeText", NO.c_str());
ADOQueryDB->Next();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2012, 09:58
Ответы с готовыми решениями:

Задать ширину столбцов в таблице MS WORD 2007
При смене MS WORD с 2003 на 2007(в 2003 такой проблемы не было) в строке 5: ...

Как задать начальную ширину графика?
Блин, не найду нигде. В свойствах всё перерыл. Надо чтоб при открытии графика горизонтальная линейка сразу стала 0-1000, а не...

Как задать ширину столбцов dataGridView
Сам датагрид заполняю так : da = new SqlDataAdapter(@" SELECT id_certificat as '№', ...

3
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.04.2012, 10:04
C++
1
2
3
vVarTable=vVarDoc.OlePropertyGet("Tables").OleFunction("Item",1);
 Variant v=vVarTable.OlePropertyGet("Columns");
 v.OleFunction("Item",1).OlePropertySet("Width",50); //Устанавливаем ширину первого столбца
0
 Аватар для Mihay
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 13
05.04.2012, 10:44  [ТС]
Спасибо большое, теперь все ОК!!!

Добавлено через 11 минут
Еще один маленький вопрос!!! Как помещать текст по левому или правому краю или по центру таблицы????
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.04.2012, 12:44
Цитата Сообщение от Mihay Посмотреть сообщение
Еще один маленький вопрос!!! Как помещать текст по левому или правому краю или по центру таблицы????
Глянь здесь
http://wladm.narod.ru/Borland/word.html

Добавлено через 1 час 27 минут
Цитата Сообщение от Mihay Посмотреть сообщение
Как помещать текст по левому или правому краю или по центру таблицы????
В шапке таблицы или в столбце таблицы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2012, 12:44
Помогаю со студенческими работами здесь

Excel: Как задать ширину столбцов в новом листе
Собственно. Создаю рабочий лист, кидаю данные. using Excel = Microsoft.Office.Interop.Excel; Excel.Application newExcel = new...

Как задать ширину одновременно для всех столбцов в таблице?
К примеру у меня есть таблица из 3 колонок и мне нужно, чтобы ширина каждой колонки равнялась 1/3 ширины окна браузера, как можно это...

Задать программно ширину столбцов DataGridView
Загружаю данные в DataGridView из Excel. Первые столбцы 0-2 всегда присутствуют им задаю в программе ширину. В Excel файлах может быть...

Как задать ширину окна?
У меня такая проблема есть сайт на adobe flash cs 5. есть окно но я хочу задать ширину окна как это сделать код окна ниже on...

Как задать ширину таблицы
Скажите как можно задать ширину для таблицы так, что бы если она открывалась на мониторе с менее 1024px то она не маштабировалась как и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru