< návrat zpět

MS Excel


Téma: Hromadná zmena 1 obrázka za 2. obrázok rss

Zaslal/a 5.11.2016 19:35

kabakaPotrebujem hromadne zmeniť 1 obrázok za 2 obrázok z databázy.
Vo worde alebo v exceli (2003)
Ak existuje elegantnejšie riešenie v grafickom programe, prosím nasmerujte ma naň (najlepšie freeware, jednoduchý, v slovenčine, ale to chcem, asi veľa:))

cesta D:\meno\dokumenty\podklady\obrázky

Ďakujem

Příloha: zip33319_obrazky.zip (161kB, staženo 23x)
Zaslat odpověď >

Strana:  1 2 3 4 5   další »
#033328
kabaka
DOPLNENIE

Ospravedlňujem sa za zmazaný píspevok.
Skúšala som to cez USEFORM ale to nie to čo chem.citovat
icon #033330
avatar
Sub Test()
Const myPicName As String = "D:\meno\dokumenty\podklady\obrázky\2.jpeg"
Dim pic As Picture, i As Byte, j As Byte, w As Single, h As Single
For Each pic In ActiveSheet.Pictures
pic.Delete
Next pic
h = [A1].Height - 6
w = [A1].Width - 6
For i = 1 To 11
For j = 1 To 4
Set pic = ActiveSheet.Pictures.Insert(myPicName)
With pic
.Top = Cells(i, j).Top + 3
.Left = Cells(i, j).Left + 3
If .Height > h Then .Height = h
If .Width <= w Then .Left = .Left + (w - .Width) / 2
If .Width > w Then .Width = w
If .Height <= h Then .Top = .Top + (h - .Height) / 2
End With
Next j
Next i
End Sub
Optimalizáciu behu som neriešil, funkčné to je. Stačilo by veľkosť obrázku a jeho pozíciu voči bunke nastaviť iba raz a potom už pracovať s takto zistenými hodnotami. Tým by sa to makro zrýchlilo, ale ide o blbosť, i takto to beží len pár sekúnd. Autorom tých ďalších makier v tom súbore, ktorý si poslala, asi nebudeš..citovat
#033331
avatar
Ahoj! Tak kde chceš ty obrázky měnit, Formulář, nebo List?
Ve Formuláři stačí opakovat "LoadPicture", na Listu je třeba daný obrázek smazat a místo něj vytvořit nový (se domnívám).citovat
icon #033333
avatar
presne tak, ale v prílohe mala obrázky na liste, nie v UF.citovat
#033337
kabaka

Anonym napsal/a:

Ahoj! Tak kde chceš ty obrázky měnit, Formulář, nebo List?
Ve Formuláři stačí opakovat "LoadPicture", na Listu je třeba daný obrázek smazat a místo něj vytvořit nový (se domnívám).


Formulár bol skôr taký pokus, ako hovoríš, opakovať loadpicture stačí, ale zmení to obrázok v USEFORM a nie na liste, ja chcem, aby to menilo na liste. Možno to bol trochu zavádzajúce, ale zase som sa niečo nové naučila.citovat
#033339
kabaka
Optimalizáciu behu som neriešil, funkčné to je. Stačilo by veľkosť obrázku a jeho pozíciu voči bunke nastaviť iba raz a potom už pracovať s takto zistenými hodnotami. Tým by sa to makro zrýchlilo, ale ide o blbosť, i takto to beží len pár sekúnd. Autorom tých ďalších makier v tom súbore, ktorý si poslala, asi nebudeš..


Super, takto mi to stačí... Nie samozrejme, nie som autorom makier. Neviem vytvoriť makro, iba ho nahrať, ale neviem ho upraviť. Skúšam to skôr metóda pokus-omyl. Ako si hovoril, chce to ešte sa pohrať s výškou a šírkou obrázku,inak je to super.

Geniálne, ďakujem.citovat
icon #033340
avatar
Tvoje vyjadrenie nie je presné. Výška, šírka a pozícia obrázkov je nastavená korektne. Ja som zmieňoval, že by to šlo v makre nastaviť na začiatku, mimo cyklus. Následný cyklus by potom bežal rýchlejšie.
Ešte poznámka: Pokiaľ mažeš príspevky, či ich časti, po tom, čo na ne bolo reagované, tak tie reakcie nedávajú zmysel. Každý má právo na omyl a samozrejme, so svojimi príspevkami si môžeš naložiť podľa vlastného uváženia. Mala by si však zvážiť, či tým z osôb, ktoré ti radia, nerobíš oslov. Môže sa ti potom ľahko stať, že na svoje otázky v budúcnosti už žiadnu odpoveď nedostaneš.citovat
#033341
kabaka

AL napsal/a:

Tvoje vyjadrenie nie je presné. Výška, šírka a pozícia obrázkov je nastavená korektne. Ja som zmieňoval, že by to šlo v makre nastaviť na začiatku, mimo cyklus. Následný cyklus by potom bežal rýchlejšie.
Ešte poznámka: Pokiaľ mažeš príspevky, či ich časti, po tom, čo na ne bolo reagované, tak tie reakcie nedávajú zmysel. Každý má právo na omyl a samozrejme, so svojimi príspevkami si môžeš naložiť podľa vlastného uváženia. Mala by si však zvážiť, či tým z osôb, ktoré ti radia, nerobíš oslov. Môže sa ti potom ľahko stať, že na svoje otázky v budúcnosti už žiadnu odpoveď nedostaneš.


Ospravedlňujem sa - z nikoho nemienim robiť oslov.

Ešte k výške a širke, áno je to korektné, ale skôr ide o tú optimalizáciu (neviem, čo presne si mal pod ňou na mysli - ja deformáciu obrázkov) OK, všetko beriem, a išlo by to vyladiť, tak aby to tú šírku a výšku obrázka nedeformovalo? Snažila som sa nastaviť obrázkom maximálnu šírku a výšku 250x250. Ale keďže obrázky nie sú rovnakého tvaru, tak nie sú rovnako veľké.citovat
icon #033342
avatar
Môj kód obrázky nedeformuje, naopak zachováva pomer strán. Práve z toho dôvodu, že obrázky nie sú rovanko veľké. Čo som myslel optimalizáciou, som už napísal, dvakrát. Napíšem teda ešte raz: výšku, šírku a jeho pozíciu voči bunke "pod ním", je možné stanoviť na začiatku. Nemusí to prebiehať 11x4 krát v cykle. Stačí raz, uložiť obrázok s takto zisteným rozmerom do prvej bunky (on nie je v bunke, ale "nad ňou", aby som bol presný) a potom v cykle rozkopírovať do ostatných.
Pokiaľ chceš, aby obrázok svojim rozmerom odpovedal rozmerom bunky, je treba upraviť rozmery buniek - dať im rovnaký pomer výšky a šírky, v akom pomere je výška obrázku ku jeho šírke (a k výške a šírke bunky potom ešte pridať nejakú malú hodnotu, povedzme 6, aby boli vidieť okraje/obrysy buniek).
Nič z hore uvedeného ale už písať nebudem, ako cvičenie mi stačilo doteraz vytvorené.citovat
#033347
kabaka

AL napsal/a:

Môj kód obrázky nedeformuje, naopak zachováva pomer strán. Práve z toho dôvodu, že obrázky nie sú rovanko veľké.


Ako myslíš, nebudem sa s Tebou hádať, ale mne obrázok zdeformovalo.
Příloha: jpg33347_deformacia.jpg (114kB, staženo 22x)
33347_deformacia.jpg
citovat

Strana:  1 2 3 4 5   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje