Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 03:11   #1
Malgor
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 22
Вопрос Создание диаграммы в Word

Собственно проблема такая: есть програма, она должна помимо всего прочего создавать вёрдовский документ в котором присутствует множество диаграмм. Реализовать построение диаграмм хочу именно непосредственно в Word.
Код:
...
var
w:Variant;
Diag: OLEVariant;
...
Diag := W.ActiveDocument.INLINEShapes.AddDiagram(msoDiagramRadial, 50, 50, 100, 100);
...
если пробую так, то Delphi ругается на класс msoDiagramRadial, если кто-то сталкивался с подобной реализацией подскажите что необходимо подключить.
Код:
...
var
w:Variant;
Diag: OLEVariant;
...
Diag:=w.activeDocument.inlineShapes.AddOLEObject('MSGraph.Chart.8');
...
Если побую так, то диаграмма замечательно появляется в нужном месте, но она с левыми даными и не того типа. Тогда возникает вопрос как в этом случае можно отредактировать созданую диаграмму.
P.S. данные для диаграммы берутся из массива в программе

Последний раз редактировалось Malgor; 04.04.2012 в 13:07. Причина: уточнил проблему
Malgor вне форума Ответить с цитированием
Старый 04.04.2012, 10:35   #2
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от Malgor Посмотреть сообщение
пробую так, то ругается на msoDiagramRadial.
что за тупизна пошла...
кто ругается? тетя Глаша? дельфи ? ворд?
книжку хоть одны прочитал,что делать если дельфи на чтото ругается?
robt вне форума Ответить с цитированием
Старый 04.04.2012, 12:30   #3
Malgor
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 22
По умолчанию

Цитата:
Сообщение от robt Посмотреть сообщение
что за тупизна пошла...
кто ругается? тетя Глаша? дельфи ? ворд?
книжку хоть одны прочитал,что делать если дельфи на чтото ругается?
Не нравится Delphi, не нравится как класс(msoDiagramRadial собственно тип создаваемой диаграммы). Был бы рад прочитать книгу с описанием конкретно этих классов, но найти её увы не удаётся.

Последний раз редактировалось Malgor; 04.04.2012 в 12:45.
Malgor вне форума Ответить с цитированием
Старый 04.04.2012, 12:38   #4
Malgor
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 22
По умолчанию

Код:
...
var
w:Variant;
Diag: OLEVariant;
...
Diag:=w.activeDocument.inlineShapes.AddOLEObject('MSGraph.Chart.8');
...
при таком варианте интересует как можно обратится к этому объекту для изменения. Если быть конкретней:
1)Как изменить тип диаграммы.
2)как внести значения по которым строится диаграмма из массива.
3)Как изменить легенду в диаграмме
Malgor вне форума Ответить с цитированием
Старый 04.04.2012, 12:43   #5
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

вот сматри,тебя спросили КТО РУГАЕТСЯ??
ты пишеш какуюта хрень про "Не нравится Delphi как класс"
WTF?
если дельфи не нравица msoDiagramRadial, значит она ее незнает,значит ты ее описываеш сам,либо подключаеш модуль где уже это есть
robt вне форума Ответить с цитированием
Старый 04.04.2012, 12:56   #6
Malgor
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 22
По умолчанию

Хм, собственно на счёт этого варианта... наткнулся на 1 из форумов, что подключается и используется не описывается, тему на форуме закрыли с людьми обсуждавшими эту проблему связаться не получилось, это скорее вариант на случай если кто-то сталкивался с такой реализацией.
Меня больше интересует 2 вариант, по крайней мере диаграмму в нужный фрагмент документа он вставляет на ура, а вот дальше я в затруднении, как обратится к созданному объекту.
Malgor вне форума Ответить с цитированием
Старый 04.04.2012, 13:29   #7
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

лан,держи
Код:
const
  msoDiagramOrgChart = $00000001;
  msoDiagramCycle = $00000002;
  msoDiagramRadial = $00000003;
  msoDiagramPyramid = $00000004;
  msoDiagramVenn = $00000005;
  msoDiagramTarget = $00000006;
к объекту обращатся естественно через Diag если ей присваиваеш

Последний раз редактировалось robt; 04.04.2012 в 14:05.
robt вне форума Ответить с цитированием
Старый 04.04.2012, 13:37   #8
Агабек
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 1
По умолчанию

помогите пожалуйста как мне устоновить драйвер hp LaserJet 1010 на компютер? у меня установочный дисков нету, через интернет скачал но не получаеться?
Агабек вне форума Ответить с цитированием
Старый 04.04.2012, 15:24   #9
Malgor
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 22
По умолчанию

Цитата:
Сообщение от robt Посмотреть сообщение
лан,держи
Помогло, но теперь сам вёрд ругается на метод AddDiagram, если можно дайте ссыку на какой-нибудь пример, я с этими диаграммами уже совсем запутался.
Malgor вне форума Ответить с цитированием
Старый 04.04.2012, 17:30   #10
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

а я с ними и несвязывался никогда
в ворде эта функция выглядит так
Код:
function AddDiagram(Type_: MsoDiagramType; Left: Single; Top: Single; Width: Single;Height: Single; var Anchor: OleVariant): Shape;
соответственно в твоем вызове нехватает последнего параметра
можеш туда EmptyParam подставить

Последний раз редактировалось robt; 04.04.2012 в 17:47.
robt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание диаграммы с несколькими кривыми Antifriz Microsoft Office Excel 2 05.01.2011 14:45
Создание диаграммы AlanB Microsoft Office Excel 0 17.12.2010 12:02
создание ER-диаграммы. Defa4ka Microsoft Office Access 0 02.11.2010 13:24
Создание диаграммы FullmetalAlchemist Microsoft Office Excel 4 25.05.2010 16:19
Создание диаграммы Excel по значениям переменной Shinoby Microsoft Office Excel 1 08.03.2009 14:23