|
Модераторы: MetalFan |
|
Albinos_x |
|
|||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
WordApplication не предоставляет такой возможности, делай через буфер, или добавить файл... можешь поэкспериментировать и попробовать грузить всё в OleVariat и оттуда уже вставлять...
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Albinos_x |
|
|||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
markivanov, по поводу работы через OleVariant в модуле ActiveX есть функции OleLoadFromStream() и OleSaveToStream() поэкспериментируй с ними...
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Hoor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
Вопросик такой: возникла необходимость вставки рисунка в Ворд из делфи
я вызываю там вордовский документ (он у меня W.ActiveDocument) и т.д создаю image1 и загоняю его в файл, чтобы не морочиться с перерисовкой в Ворде image1.Picture.SaveToFile('имя'); Затем открываю его в Ворде: name:=W.ActiveDocument.Shapes.AddPicture('имя').Name; Даю настройки верхнего левого угла. W.ActiveDocument.Shapes.Item (name).Left:=Left; W.ActiveDocument.Shapes.Item(name).Top:=Height; Так вот Вопрос - как этот рисунок расположить в документе в тексте ? Спасибо. |
|||
|
||||
Albinos_x |
|
|||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
она по умолчанию вставляется как в тексте...
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Albinos_x |
|
|||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
просто выбери место через selection куда тебе нужно вставить, а потом уже вставляй, без указания координат...
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Hoor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
Сорри, я кажется не совсем понял.
Если задать "...просто выбери место через selection ..." Так может быть? W.Selection.End:=W.ActiveDocument.Range.End; W.Selection.Start:=W.ActiveDocument.Range.End; Если я даю name:=W.ActiveDocument.Shapes.AddPicture('имя').Name; то Ворд автоматом думает что координаты (0;0) и вставляет рисунок пперед текстом в начале первой страницы Добавлено через 10 минут и 12 секунд попробовал не через свойство name, а просто W.Selection.InlineShapes.AddPicture... Заработало Огромное спасибооо |
|||
|
||||
Albinos_x |
|
||||||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
Ну зачум... просто доходишь до нужного места и вставляешь рисунок
или так:
координаты указывать не надо, т.к. когда ты их указываешь формат из "в тексте" меняется на "перед текстом". а так он вставит по положению курсора... к тому же если ты сам указываешь имя рисунка, то повторно получать его не обязательно, т.к. ты его и так знаешь... -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||||
|
|||||||
B2_Russia |
|
|||
В доску свой :) Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: нет Всего: 1 |
А как бы еще отобразить документ на своей форме?
|
|||
|
||||
Albinos_x |
|
|||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
OleConteiner
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
SmarTik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 8.6.2007 Репутация: нет Всего: нет |
Доброго времени суток !
Может я немного не потеме, но такой вопрос: как получить index активного документа ? Спасибо. Это сообщение отредактировал(а) SmarTik - 27.12.2007, 18:31 |
|||
|
||||
Peha |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.1.2008 Где: C:\Украина 092;Северо-запад Репутация: нет Всего: нет |
Очень интересная статья!!!
Мне она сэкономила кучу времени, т.к. начальнику захотелось сделать прогу для генерации кой-каких отчетов, но именно в Ворде... И вот я столкнулся с небольшой проблемой (точнее пока нет времени на эксперименты), нужно создать табличку вида:
Точнее, меня интересует, как можно обьединить несколько ячеек в созданной таблице в MS Word (у меня 2003) Если кто сталкивался, помогите плиз... Свое решение выложу, как-только сам разберусь... --------- все, нашел. Если кому интересно, код обьединяет ячейки в предпоследней строке с первой по пятую:
Это сообщение отредактировал(а) Peha - 20.1.2008, 16:12 |
||||
|
|||||
mikolka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 15.1.2008 Репутация: нет Всего: нет |
Доброго времени суток.
как можно узнать страницу на которой, сейчас находится курсор в ворде? |
|||
|
||||
Jsn |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.2.2008 Репутация: нет Всего: нет |
Помогите, плз, решить проблему: создаю TWordApplication, в фоне(!) открываю файл (документ) и выдаю его на печать. Все работает. Но при ошибках выскакивают интерактивные окна Word (например: "Во время последнего открытия документа произошла серьезная ошибка - восстановить?", "Размеры раздела выходят за границы печати" и т.п.), а мне надо, чтобы всё происходило именно в фоне! Пусть вызывает ошибку, но молчит! Перепробовал кажется всё, начиная от DisplayAlerts... Вот кусок кода: Application1 := TWordApplication.Create(nil); with Application1 do begin try fn := aFileName; Visible := False; fn1 := False; fn2 := True; DisplayAlerts := wdAlertsNone; Documents.Open(fn, fn1, fn2, fn1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam); // здесь бывают ошибки открытия fn := 1; Documents.Item(fn).Activate; PrintOut(fn1); // здесь ошибки печати Result := True; except on E: Exception do LogError('Error printing: ' + FormatDateTime(DateTimeString, Now) + ' ' + aFileName + ' - ' + E.Message); end; end; Delphi 5 и 7, Word 97-2000-XP - результат один; кроме TWordApplication пробовал и Word.Basic и OleObject - нет изменеий |
||||
|
|||||
Albinos_x |
|
||||
Evil Skynet Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 15 Всего: 108 |
извините что дого не отвечал, был в состоянии переезда и имелись проблемы со связью...
SmarTik, не уверен, но попробуй так:
если не поможет, то пробуй перебором... ============= mikolka, не могу пока сказать как, т.к сам ещё не нашёл... справка по VBA говорит, что есть объект Pages предствляющий собой массив страниц, доступ к ним должен выглидить где-то так: Wapp.ActivWindows.Panes.Item(1).Pages.Item(1) но с этим у меня ничего не получилось..( ============ Jsn, 1. используйте теги code 2. хм... странно... попробуйте так:
Это сообщение отредактировал(а) Albinos_x - 13.2.2008, 01:40 -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||
|
|||||
Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |