Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187

OLE Automation пару вопросов по Word

12.08.2010, 19:07. Показов 3019. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть у меня парочка вопросов насчет Word. Как можно сделать так, чтобы изменять размер каждого столба в отдельности, знаю только как сделать для всех вместе,кому интересно
C++
1
Tables.OleFunction("Item",1).OlePropertyGet("Columns").OlePropertySet("Width",70);
И еще интересует как сохранить файл ворда в корневую папку программы, метод
C++
1
MSWord.OlePropertyGet("ActiveDocument").OleProcedure("SaveAs","Document.doc");
Сохраняет файл в "мои документы".
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2010, 19:07
Ответы с готовыми решениями:

1c V8.x: Оформление Таблицы Word. Ole Automation.
Создается таблица в Word. Как задать цвет границ таблицы??? Rng8.I_nsertAfter("1, 2, 3"); Rng8.I_nsertParagraphAfter(); ...

Об OLE Automation
Извините за простой вопрос: Задача такая сперва записать данные в Excel, потом их прочесть (редактируются через Excel) , обработать и...

1c Ole Automation Server
Требуется интеграция 1-С Предприятия с други хранилищем данных. Я нашел что один из способов это вызов 1-С через OLE. Подскажите где...

7
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.08.2010, 20:16
Цитата Сообщение от Metal_666_ Посмотреть сообщение
Есть у меня парочка вопросов насчет Word. Как можно сделать так, чтобы изменять размер каждого столба в отдельности, знаю только как сделать для всех вместе,кому интересно
Код C++1 Tables.OleFunction("Item",1).OleProperty Get("Columns").OlePropertySet("Width",70 );
Отвечаю

C++
1
2
3
4
5
6
Variant t = vVarTable.OlePropertyGet("Columns");
 
 
 t.OleFunction("Item",3).OlePropertySet("Width",110);
 t.OleFunction("Item",4).OlePropertySet("Width",150);
 t.OleFunction("Item",12).OlePropertySet("Width",130);
Добавлено через 19 минут
По второму
C++
1
MSWord.OlePropertyGet("ActiveDocument").OleProcedure("SaveAs",ExtractFilePath(Application->ExeName) +AnsiString("\Document.doc"));
0
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187
12.08.2010, 20:46  [ТС]
А vVarTable тут переменная какого типа?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.08.2010, 20:49
Цитата Сообщение от Metal_666_ Посмотреть сообщение
А vVarTable тут переменная какого типа?
C++
1
Variant  vVarTable;
0
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187
13.08.2010, 02:46  [ТС]
Что то у меня выкидывает ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
OC_Save->CreateObject("Word.Document",true);
  OC_Save->Run();
  OC_Save->DoVerb(ovShow);
  Variant MSWord = OC_Save->OleObject.OlePropertyGet("Application");
  Variant Cursor = MSWord.OlePropertyGet("Selection");
  Cursor.OleProcedure("TypeText","Aaca eeeaioia");
  Cursor.OleProcedure("TypeParagraph");
  Variant Font = Cursor.OlePropertyGet("Font");
  Font.OlePropertySet("Name","Arial");
  Font.OlePropertySet("Size","12");
  Variant Tables = MSWord.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables");
  Tables.OleProcedure("Add",Cursor.OlePropertyGet("Range"),clients.size()+1,6);
  Variant t = Tables.OlePropertyGet("Columns"); //тут ошибка при выполнении программы
  t.OleFunction("Item",1).OlePropertySet("Width",40);
  t.OleFunction("Item",2).OlePropertySet("Width",80);
  t.OleFunction("Item",3).OlePropertySet("Width",50);
  t.OleFunction("Item",4).OlePropertySet("Width",100);
Исправьте если не сложно ошибку
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
13.08.2010, 09:39
У меня записано так, смотри как у меня и попробуй исправить
C++
1
2
3
4
5
6
7
8
 vVarRange = vVarParagraph.OlePropertyGet("Range");
 vVarDoc.OlePropertyGet("Tables").OleFunction("Add",vVarRange,Rows,Cols,1,0);
 vVarTable=vVarDoc.OlePropertyGet("Tables").OleFunction("Item",1);
 Variant t = vVarTable.OlePropertyGet("Columns");
 //Устанавливаем ширину столбцов
 t.OleFunction("Item",3).OlePropertySet("Width",110);
 t.OleFunction("Item",4).OlePropertySet("Width",150);
 t.OleFunction("Item",12).OlePropertySet("Width",130);
0
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187
13.08.2010, 15:20  [ТС]
А можно вобще полный код? Начиная от создания документа и заканчивая создаием таблицы. А то я что то не могу догнать никак
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
13.08.2010, 15:32
http://wladm.narod.ru/Borland/word.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.08.2010, 15:32
Помогаю со студенческими работами здесь

MS Access и OLE Automation
В MS Access есть команда Создание->Таблица, которая создаёт пустую таблицу. Как можно через OLE Automation из другого приложения послать...

Как использовать OLE Automation в c#?
как юзать сабж в частности не работает xxx = new V77.Application() ; хотя с xxx = new Excell.Application() ; проблем нет :(((

Rational Rose via COM (OLE Automation)
У кого-нибудь есть опыт использования ? Добавлено через 12 часов 41 минуту 22 секунды Уточним. Открыть модель : //Запустить...

Как использоваьб OLE automation?
как использоваьб OLE automation в частности V77.Application ????

Создание сервера автоматизации (OLE Automation)
Здравствуйте! Есть неистовое желание написать на C# простую утилиту, функционал которой был бы доступен из WSH (скрипт пишу на...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru