Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6+Excel+Access / 15 сообщений из 15, страница 1 из 1
12.07.2005, 11:30:42
    #33160829
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
Нужен пример как достать Shape из Excel
и потом сохранить его в БД Access
соответственно чтобы потом можно было достать и вставить в Excel обратно
Как достать я знаю WorkSheet.Sapes(1)
а вот как его сохранить?
Желательно без Clipboard, или так невозможно?
...
Рейтинг: 0 / 0
12.07.2005, 14:21:25
    #33161465
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
Ну может кто скажет как этот Excel.Shape привести к другому типу,
может через Stream чтобы запихнуть в базу.
Я всю жизнь на Делфе ваял и горя не знал, тут понадобылись на ВБ вот затыка
...
Рейтинг: 0 / 0
12.07.2005, 15:16:26
    #33161630
lmeer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
может не очень красиво, но я бы взял все нужные параметры shape и записал их в базу в текстовом виде.
а потом доставал, вручную создавал шейп и присваивал ему параметры.

(это конечно, если целиком с объектом работать не получится)
...
Рейтинг: 0 / 0
12.07.2005, 15:24:57
    #33161644
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
Дык мне нужно изображение, картинка...
Сохранить, потом вывести..
вроде простой вопрос, задавал на форумах ответов нет...
Одно из двух либо ВБ уже забыли, либо он действительно убогий
...
Рейтинг: 0 / 0
12.07.2005, 16:09:37
    #33161761
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
так, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед!
------------------
arbeit macht frei
...
Рейтинг: 0 / 0
12.07.2005, 16:13:11
    #33161773
lmeer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
посмотри объектные модели excel и access
C:\Program Files\Microsoft Office\OFFICE11\1049\VBAXL10.CHM
C:\Program Files\Microsoft Office\OFFICE11\1049\VBAAC10.CHM

в экселе шейп есть, а в акцессе - нет
поэтому я думаю, что акцесс его в свою базу записать не сможет.
(может я и ошибаюсь... помогаю, чем могу)
...
Рейтинг: 0 / 0
12.07.2005, 16:14:02
    #33161775
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
_bobтак, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед!
------------------
arbeit macht frei

Просто но как???
Зачем сложности писать длл подключать....
Если это невозможно без длл тогда конечно...

В нете я ответ не нашел...
...
Рейтинг: 0 / 0
12.07.2005, 16:19:16
    #33161785
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
lmeerпосмотри объектные модели excel и access
C:\Program Files\Microsoft Office\OFFICE11\1049\VBAXL10.CHM
C:\Program Files\Microsoft Office\OFFICE11\1049\VBAAC10.CHM

в экселе шейп есть, а в акцессе - нет
поэтому я думаю, что акцесс его в свою базу записать не сможет.
(может я и ошибаюсь... помогаю, чем могу)

Я тоже так думаю...
У Access есть OLE объект...
Вопрос как преобразовать Shape в Ole

я выдергиваю из Excela Shape в Ole посредством Copy Paste
я так понимаю это единственное решение

Теперь осталось положить этот Ole в базу...
сейчас парюсь....

На делфе я бы сделал так, запихнул Shape->Stream->БД
без всяких Clipboard

Вот как такое реализовать на ВБ...
...
Рейтинг: 0 / 0
12.07.2005, 17:00:28
    #33161921
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
0. создаем пустой файл myTemp.xls
1. на первый лист myTemp.xls копируем нужный Shape
2. сохраняем и закрываем myTemp.xls
3. сохраняем myTemp.xls в поле типа OLE таблицы базы данных
3.1 файл myTemp.xls можно удалить
4. при извлечении чего-либо из поля таблицы всегда знаем, что это будет файл с расширением xls и на первом листе у него будет находится нужный нам Shape

Вопросы?
...
Рейтинг: 0 / 0
12.07.2005, 17:05:37
    #33161937
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
DinoRay _bobтак, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед!
------------------
arbeit macht frei

Просто но как???
Зачем сложности писать длл подключать....
Если это невозможно без длл тогда конечно...

В нете я ответ не нашел...

по-хорошему функционал всегда складывают в dll'ки, а раз у тебя проблема технического характера (не можешь сделать на ВБ), сделай на таких милых тебе Делфях (на самом деле я думаю, что ты и на Делфях этого сделать не можешь, поэтому и спрашиваешь :-) )
...
Рейтинг: 0 / 0
12.07.2005, 17:10:47
    #33161954
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
nibbles0. создаем пустой файл myTemp.xls
1. на первый лист myTemp.xls копируем нужный Shape
2. сохраняем и закрываем myTemp.xls
3. сохраняем myTemp.xls в поле типа OLE таблицы базы данных
3.1 файл myTemp.xls можно удалить
4. при извлечении чего-либо из поля таблицы всегда знаем, что это будет файл с расширением xls и на первом листе у него будет находится нужный нам Shape

Неужели такой гиморой... столько движений...
мне лично кажется что это через одно место.... не сочтите за обиду -:)
Это и есть хваленая интеграция мелкософта?


Вопросы?
Доступа у юзера нет на запись к примеру...
А вообще не есть красивая реализация через Clipboard по моему лучше...
...
Рейтинг: 0 / 0
12.07.2005, 17:27:20
    #33162020
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
_bob DinoRay _bobтак, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед!
------------------
arbeit macht frei

Просто но как???
Зачем сложности писать длл подключать....
Если это невозможно без длл тогда конечно...

В нете я ответ не нашел...

по-хорошему функционал всегда складывают в dll'ки, а раз у тебя проблема технического характера (не можешь сделать на ВБ), сделай на таких милых тебе Делфях (на самом деле я думаю, что ты и на Делфях этого сделать не можешь, поэтому и спрашиваешь :-) )

Функционал складывают в длл когда он еще где-то нужен будет...
Либо когда логика общая...
Либо когда чего-то не позволяет язык программирования....

У меня ни 1 не 2 случай, подозреваю что 3

----------------------
Это про Делфи
---------------------
ADODataSet.Edit;
Stream := TADOBlobStream.Create(ADODataSet1.FieldByName('IMAGE') as
TBlobField, bmWrite);
Picture.SaveToStream(Stream);
Stream.Free;
ADODataSet.Post;

Я не очень хорошо знаю ВБ вот и обратился на этот форум что нибудь подобное можно сделать на ВБ...
в 5 строк без всяких Длл...?
...
Рейтинг: 0 / 0
12.07.2005, 17:38:00
    #33162045
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
DinoRay

У меня ни 1 не 2 случай, подозреваю что 3

----------------------
Это про Делфи
---------------------
ADODataSet.Edit;
Stream := TADOBlobStream.Create(ADODataSet1.FieldByName('IMAGE') as
TBlobField, bmWrite);
Picture.SaveToStream(Stream);
Stream.Free;
ADODataSet.Post;

Я не очень хорошо знаю ВБ вот и обратился на этот форум что нибудь подобное можно сделать на ВБ...
в 5 строк без всяких Длл...?

точно так же, шейп в стрим, стрим в базу :-)
...
Рейтинг: 0 / 0
12.07.2005, 17:48:07
    #33162070
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
DinoRay nibblesВопросы?
Доступа у юзера нет на запись к примеру...
А вообще не есть красивая реализация через Clipboard по моему лучше...
Хотящий ищет возможности, нехотящий ищет причины.
...
Рейтинг: 0 / 0
12.07.2005, 18:25:07
    #33162149
DinoRay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6+Excel+Access
так никто толком ничего и не ответил...

да.. чтобы работать с ВБ нужно иметь терпение...

ладно тема закрыта...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6+Excel+Access / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]