|
|
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
Нужен пример как достать Shape из Excel и потом сохранить его в БД Access соответственно чтобы потом можно было достать и вставить в Excel обратно Как достать я знаю WorkSheet.Sapes(1) а вот как его сохранить? Желательно без Clipboard, или так невозможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 11:30:42 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
Ну может кто скажет как этот Excel.Shape привести к другому типу, может через Stream чтобы запихнуть в базу. Я всю жизнь на Делфе ваял и горя не знал, тут понадобылись на ВБ вот затыка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 14:21:25 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
может не очень красиво, но я бы взял все нужные параметры shape и записал их в базу в текстовом виде. а потом доставал, вручную создавал шейп и присваивал ему параметры. (это конечно, если целиком с объектом работать не получится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 15:16:26 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
Дык мне нужно изображение, картинка... Сохранить, потом вывести.. вроде простой вопрос, задавал на форумах ответов нет... Одно из двух либо ВБ уже забыли, либо он действительно убогий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 15:24:57 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
так, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед! ------------------ arbeit macht frei ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 16:09:37 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
посмотри объектные модели excel и access C:\Program Files\Microsoft Office\OFFICE11\1049\VBAXL10.CHM C:\Program Files\Microsoft Office\OFFICE11\1049\VBAAC10.CHM в экселе шейп есть, а в акцессе - нет поэтому я думаю, что акцесс его в свою базу записать не сможет. (может я и ошибаюсь... помогаю, чем могу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 16:13:11 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
_bobтак, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед! ------------------ arbeit macht frei Просто но как??? Зачем сложности писать длл подключать.... Если это невозможно без длл тогда конечно... В нете я ответ не нашел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 16:14:02 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
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 Вот как такое реализовать на ВБ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 16:19:16 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
0. создаем пустой файл myTemp.xls 1. на первый лист myTemp.xls копируем нужный Shape 2. сохраняем и закрываем myTemp.xls 3. сохраняем myTemp.xls в поле типа OLE таблицы базы данных 3.1 файл myTemp.xls можно удалить 4. при извлечении чего-либо из поля таблицы всегда знаем, что это будет файл с расширением xls и на первом листе у него будет находится нужный нам Shape Вопросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:00:28 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
DinoRay _bobтак, на ВБ сделать это просто, но зачем делать это на убогом ВБ, ваяй на Делфе dll-ку, подключай её к ВБ и вперед! ------------------ arbeit macht frei Просто но как??? Зачем сложности писать длл подключать.... Если это невозможно без длл тогда конечно... В нете я ответ не нашел... по-хорошему функционал всегда складывают в dll'ки, а раз у тебя проблема технического характера (не можешь сделать на ВБ), сделай на таких милых тебе Делфях (на самом деле я думаю, что ты и на Делфях этого сделать не можешь, поэтому и спрашиваешь :-) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:05:37 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
nibbles0. создаем пустой файл myTemp.xls 1. на первый лист myTemp.xls копируем нужный Shape 2. сохраняем и закрываем myTemp.xls 3. сохраняем myTemp.xls в поле типа OLE таблицы базы данных 3.1 файл myTemp.xls можно удалить 4. при извлечении чего-либо из поля таблицы всегда знаем, что это будет файл с расширением xls и на первом листе у него будет находится нужный нам Shape Неужели такой гиморой... столько движений... мне лично кажется что это через одно место.... не сочтите за обиду -:) Это и есть хваленая интеграция мелкософта? Вопросы? Доступа у юзера нет на запись к примеру... А вообще не есть красивая реализация через Clipboard по моему лучше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:10:47 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
_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 строк без всяких Длл...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:27:20 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
DinoRay У меня ни 1 не 2 случай, подозреваю что 3 ---------------------- Это про Делфи --------------------- ADODataSet.Edit; Stream := TADOBlobStream.Create(ADODataSet1.FieldByName('IMAGE') as TBlobField, bmWrite); Picture.SaveToStream(Stream); Stream.Free; ADODataSet.Post; Я не очень хорошо знаю ВБ вот и обратился на этот форум что нибудь подобное можно сделать на ВБ... в 5 строк без всяких Длл...? точно так же, шейп в стрим, стрим в базу :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:38:00 |
|
||
|
VB6+Excel+Access
|
|||
|---|---|---|---|
|
#18+
DinoRay nibblesВопросы? Доступа у юзера нет на запись к примеру... А вообще не есть красивая реализация через Clipboard по моему лучше... Хотящий ищет возможности, нехотящий ищет причины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:48:07 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33161773&tid=2167495]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 327ms |

| 0 / 0 |
