excel - Image Control - external image Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

excel - Image Control - external image

Příspěvekod simPod » 23 říj 2010 22:25

zdravim

mam excel (:P)
tam vlozenej prvek Image Control
a potreboval bych, aby nacetl obrazek z URL, kterou mu predhodim. je to mozne? diky

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image

Příspěvekod mike007 » 24 říj 2010 11:57

Zapni si režim návrhu, dvakrát klikni na Image control a tím otevřeš VBA.
Tam zadej toto makro:

Kód: Vybrat vše


Private Sub Image1_Click()
On Error Resume Next
Dim umisteni As String
umisteni = Application.GetSaveAsFilename("C:\", , , "Najdi obrázek nebo zadej cestu")
If umisteni <> "" Then
Image1.Picture = LoadPicture(umisteni)
Image1.PictureSizeMode = fmPictureSizeModeStretch
End If
On Error GoTo 0
End Sub



VBA zavři. Jestli chceš, aby se prvek vždy roztáhl do velikosti obrázku, v nastavení si dej Autosize-True. Poté nezapomeň vypnout režim návrhu. Nyní pokaždé když klikneš na ten ovládací prvek, otevře se ti okno abys vybral obrázek z počítače. Můžeš tam zadat i URL obrázku ...

Ukázka v příloze. Jestli máš na mysli něco jiného, tak by bylo vhodné se trošku víc rozepsat...
Přílohy
pc-help-image-loc.xls
(952 KiB) Staženo 234 x
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image

Příspěvekod simPod » 24 říj 2010 15:12

mno, cca je to uz ono. jen bych chtel, ze tomu pres promenou predam URL, treba obsah nejake bunky ve ktere je URL obrazku (ktery je online) napsana a obrazek se tam nacte

zkousel jsem v tvem prikladu nastavit promennou umisteni na:
umisteni = "http://pc-help.cz/styles/prosilver/theme/images/google.jpg"
ale to nefunguje

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image

Příspěvekod X » 24 říj 2010 15:27

mike007: Paráda. U této věci jsem si říkal, že to asi nepůjde, teda že by šel vložit odkaz, ale že se nezobrazí automaticky obrázek. Klobouk dolů :smile:

simPod: Tam už to chce jen doštělovat správný formát odkazu a mrknout i do nápovědy ... například pro soubory na disku se pro odkazování používají i: [] a v některých odkazech i: /// (možná: \\\), na Net jsou v nápovědě také příklady, jen si s tím pohrát a vyzkoušet ...

P.S.: tohle později také využiji, díky.

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image  Vyřešeno

Příspěvekod mike007 » 24 říj 2010 21:10

Na import externích obrázků to chce silnější kalibr :wink:

Kód: Vybrat vše

Option Explicit

Private Type TGUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

Private Declare Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As TGUID, ByRef ppvRet As IPicture) As Long

Public Function LoadPicture(ByVal strFileName As String) As IPicture
Dim IID As TGUID
With IID
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(2) = &H0
.Data4(3) = &HAA
.Data4(4) = &H0
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With
On Error GoTo ERR_LINE
Set LoadPicture = stdole.LoadPicture(strFileName)
Exit Function
ERR_LINE:
On Error Resume Next
OleLoadPicturePath StrPtr(strFileName), 0&, 0&, 0&, IID, LoadPicture
If LoadPicture Is Nothing Then
MsgBox "Nemohu najít " & strFileName
End
End If
End Function


Private Sub Image1_Click()
On Error Resume Next
Set Me.Image1.Picture = LoadPicture(Range("a1"))
On Error GoTo 0
End Sub


V příloze máš ukázku. URL obrázku kopíruj do buňky A1. Vždy uváděj plnou cestu, tzn. i s "http://"
Přílohy
pc-help-image-loc.xls
(610 KiB) Staženo 197 x
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image

Příspěvekod simPod » 24 říj 2010 21:24

jop, to funguje
jen mi vyhodilo hlasku, ze to neni kompatibilni se 64-bit systemem, tak jsem upravil jeden radek a tvari se, ze to funguje:

Kód: Vybrat vše

Private Declare PtrSafe Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As LongPtr, ByVal punkCaller As LongPtr, ByVal dwReserved As LongPtr, ByVal clrReserved As OLE_COLOR, ByRef riid As TGUID, ByRef ppvRet As IPicture) As LongPtr


diky

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: excel - Image Control - external image

Příspěvekod mike007 » 24 říj 2010 21:32

Jestli je to ok, označ vlákno za vyřešené, ať to nestraší v TOPx
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • ADB app control - manager
    od jaojao » 26 bře 2024 12:49 » v Vše ostatní (sw)
    0
    608
    od jaojao Zobrazit poslední příspěvek
    26 bře 2024 12:49
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6713
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2768
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    2221
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    615
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů