Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос таблицы из Word в Excel(cpp), c++ или delphi 
V
    Опции темы
seventy
Дата 4.4.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Как реализовать на Builder`e C++(или на худой конец на делфях) перенос таблицы?
PM MAIL   Вверх
mihanik
Дата 5.4.2007, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Не знаю, но наверное можно использовать похожий приём, взятый из бейсика.

Сначала создаём объекты - экземпляр Excel и экземпляр Word

Код

Set ExlApp = CreateObject( "Excel.Application" )
Set WrdApp = CreateObject( "Word.Application" )


А потом уже обращаемся к пространству имён этих объектов.
Описание пространства имён (очень подробное) можно найти в хелпах соответствующих программ.

Тебя интересуют объекты к которым можно обащаться в Excel и Word?

Добавлено через 5 минут и 5 секунд
Заслать в буфер обмена кусок таблицы из Excel можно так...


Копируем с первого листа в буфер обмена блок ячеек A1:A3

Код

    ExlApp.Worksheets(1).Range("A1:A3").Select
    ExlApp.Selection.Copy


А в Word ты берёшь всё из буфера обмена и вставляешь на лист.


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
seventy
Дата 5.4.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



2mihanik спасибо за ответ. только мне надо из ворда в excel переносить. и еще - загвоздка в том что инфу об этом найти трудно - скрепка не говорит, редактор бэйсика молчит, в МСДНе нету... может есть что в онлайне?
PM MAIL   Вверх
mihanik
Дата 6.4.2007, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Цитата(seventy @  5.4.2007,  21:16 Найти цитируемый пост)
редактор бэйсика молчит


Гм...
Запусти ворд.
Зайди в редактор бейсика (Alt + F11).
В меню есть Help / "Справка: Microsoft Visual Basic    F1"

Там дано хорошее описание...
Почитай!!!

Добавлено через 2 минуты
В ворде я не силён, но, по-моему, тебе нужен Table Object

Описание этого объекта в справке более чем подробное.
Правда, на английском...  smile

Добавлено через 4 минуты и 21 секунду
Вот пример работы с таблицей в ворде.
Взял прямым копированием из хелпа.

Цитата

Returns a Cell object that represents a cell in a table.

expression.Cell(Row, Column)
expression    Required. An expression that returns a Table object.

Row    Required Long. The number of the row in the table to return. Can be an integer between 1 and the number of rows in the table.

Column    Required Long. The number of the cell in the table to return. Can be an integer between 1 and the number of columns in the table.

Example
This example creates a 3x3 table in a new document and inserts text into the first and last cells in the table.

Код

Dim docNew As Document
Dim tableNew As Table

Set docNew = Documents.Add
Set tableNew = docNew.Tables.Add(Selection.Range, 3, 3)

With tableNew
    .Cell(1,1).Range.InsertAfter "First cell"
    .Cell(tableNew.Rows.Count, _
        tableNew.Columns.Count).Range.InsertAfter "Last Cell"
End With
  
This example deletes the first cell from the first table in the active document.

If ActiveDocument.Tables.Count >= 1 Then
    ActiveDocument.Tables(1).Cell(1, 1).Delete
End If





--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
seventy
Дата 7.4.2007, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Если кому еще понадобится - рабочий код САБЖа в билдере
Код

    Variant Word, Document, Table, Cell, a;

    const char* file = "c:\\word.doc";//file with table

    Word = CreateOleObject("Word.Application");
    Word.OlePropertySet("Visible", false);
    a = Word.OlePropertyGet("Documents").OleFunction("Open",file);
    Document = Word.OlePropertyGet("Documents").OleFunction("Item", 1);
    Document.OleProcedure("Select");
    Word.OlePropertyGet("Selection").OleProcedure("Copy");

    Variant v0, v1, XL;
    XL = CreateOleObject("Excel.Application");
    v0 = XL.OlePropertyGet("Workbooks");
    v0.OleProcedure("Add");
    v1 = v0.OlePropertyGet("Item", 1).OlePropertyGet("Worksheets").OlePropertyGet("Item", 1);
    XL.OlePropertySet("Visible", true);
    v1.OleProcedure("Paste");

    XL.OleProcedure("Quit");
    Word.OleProcedure("Quit");

PM MAIL   Вверх
mihanik
Дата 7.4.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Молодец, что отписАлся о решении проблемы.

Помечу решённым.
 smile 


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0702 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.